Auto modifier un exe

LuckyNut Messages postés 47 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 11 mars 2009 - 7 août 2005 à 11:44
simtiers Messages postés 207 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 2 novembre 2006 - 7 août 2005 à 18:41
Salut à tous,

Un programme peut-il auto modifier son propre .exe ?
Si oui comment (sans utiliser de batch) ?

Exemple on lance le programme "revoir.exe", et une fois exécuté, si on l'ouvre dans un éditeur on aura la chaine "AU REVOIR !"

Ciao++

12 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 août 2005 à 12:08
Tout seul m'étonnerait fort.

ciao...
BruNews, MVP VC++
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
7 août 2005 à 12:14
Ce genre de question m'évoque la programmation de programmes malveillants...

BruNews > ton chat est de quelle race ?


Cordialement,
Xterminhate.
0
simtiers Messages postés 207 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 2 novembre 2006
7 août 2005 à 12:58
Normalement, modifier un exe lancé sous Windows n'est pas possible :
rien qu'à la tentative d'ouverture du fichier en mode écriture, tu
auras une erreur : le fichier est en cours d'utilisation.



Tu peux faire avec un 2e programme : lance revoir.exe, lui-même lance
change.exe et se faire. Après une pause de quelques instructions( le
temps que revoir.exe soit bien fermé), il ouvre et écrit dans le
fichier : c'est la méthode la plus rapide que je vois.

En tout cas, je vois pas trop à quoi ça servirai....



Xterminhate, à moins que je me goure, le chat de Brunews doit être un
chat persan : y'a qq année une de mes voisines en avait un....
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 août 2005 à 13:05
Exact c'est du persan, ils se trouvent là:
http://brunews.free.fr/persans/index.htm

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
7 août 2005 à 13:22
Merci, je voulais en être sur ! Sont sympas :-) Bcp d'entretien je suppose ?

Cordialement,
Xterminhate.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 août 2005 à 13:24
Surtout que du bonheur.

ciao...
BruNews, MVP VC++
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
7 août 2005 à 13:30
C'est clair ! Merci.

Cordialement,
Xterminhate.
0
LuckyNut Messages postés 47 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 11 mars 2009
7 août 2005 à 18:00
Ok merci pour les réponses...

Xterminate, simtiers : cela permettrait à des programmes de modifier leurs propres resources ou bien de s'auto mettre à jour. Rien de malveillant
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
7 août 2005 à 18:03
Dans ce cas, ne faudrait-il pas fragmenter l'exe en plusieurs fichiers et ne mettre à jour que les fichiers ressources (.dll et etc) sans toucher à l'exe de démarrage...

Cordialement,
Xterminhate.
0
LuckyNut Messages postés 47 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 11 mars 2009
7 août 2005 à 18:25
Oui mais je suis pas certain qu'on puisse également toucher aux dll d'extension ou de resource. De plus l'exe lui-même peut avoir des fonctions qui doivent être mises à jour...

Sinon je vois peut etre une solution :

revoir.exe crée une copie revoir2.exe, la lance et se ferme.
revoir2.exe met à jour revoir.exe, le lance et se ferme.
revoir efface revoir2.exe

et hop ! revoir.exe est à jour !
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
7 août 2005 à 18:38
Une dll est un fichier comme un autre. Bien sur, il faut peut etre eviter de la charger dans l'exe avant de la modifier, ca me parait évident. Quant à l'.exe, il ne fait que le démarrage de l'application en cherchant les mises à jour et en les réalisant, rien de plus. Ca mise à jour est vraiment secondaire.

Cordialement,
Xterminhate.
0
simtiers Messages postés 207 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 2 novembre 2006
7 août 2005 à 18:41
La mise à jour style AVG et autre :

tu as un module .exe qui se lance et charge la mise à jour, il ferme
l'application entière (avec ses dépendances => DLLs) par un
SendMessage(hwnd, WM_DESTROY...) par exemple, la met à jour, puis
relance le programme.



Tout bêtement
0
Rejoignez-nous