begin process at 2012 05 29 15:52:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Peut-on écrire dans un fichier EXE en cours d'exécution?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Peut-on écrire dans un fichier EXE en cours d'exécution?

mercredi 8 septembre 2004 à 17:14:08 | Peut-on écrire dans un fichier EXE en cours d'exécution?

racpp

Administrateur CodeS-SourceS
Salut à tous,
Je viens de lire le forum sur l'auto-suppression d'un fichier exécutable. Ton astuce est géniale Brunews.
Mon idée est de stocker un mot de passe, modifiable plutard, dans le fichier exécutable de l'application sans avoir recours aux ressources. J'ai déjà essayé, après avoir repéré l'emplacement de la chaine contenant le mot de passe grâce à un éditeur hexa. J'ai mis cet emplacement dans le fichier source, sans rien changer d'autre pour que la taille de l'exécutable reste la même. Quand l'application tente de sauvegarder le nouveau mot de passe, l'accès en écriture au fichier lui est refusée.
J'aimerais bien savoir s'il y'a un moyen pour y parvenir.
Merci beaucoup.
mercredi 8 septembre 2004 à 17:23:39 | Re : Peut-on écrire dans un fichier EXE en cours d'exécution?

BruNews

Administrateur CodeS-SourceS
Avec WriteProcessMemory() on peut ecrire dans l'image chargee en memoire.
Par contre on n'ecrit pas dans l'exe sur disque tant qu'il est charge, faut un second petit module pour cela.

ciao...
BruNews, Admin CS, MVP VC++
mercredi 8 septembre 2004 à 18:51:38 | Re : Peut-on écrire dans un fichier EXE en cours d'exécution?

racpp

Administrateur CodeS-SourceS
Merci Brunews,
Bref, la réponse est donc "NON". Quand on est sûr que c'est impossible on ne se casse plus la tête avec. Cela nous évite la perte de temps et nous permet de penser à un autre moyen. Je viens d'apprendre sur MSDN que même en utilisant les ressources, on ne peut pas modifier une ressource dans un fichier en cours d'exécution.
Encore une fois merci.

mercredi 8 septembre 2004 à 18:59:08 | Re : Peut-on écrire dans un fichier EXE en cours d'exécution?

BruNews

Administrateur CodeS-SourceS
Moi je n'ai pas dit non... tout a fait possible, le second petit module en ressource binare de l'exe principal, tu vois ou ça peut mener ?

ciao...
BruNews, Admin CS, MVP VC++
mercredi 8 septembre 2004 à 19:22:41 | Re : Peut-on écrire dans un fichier EXE en cours d'exécution?

racpp

Administrateur CodeS-SourceS
Je viens d'avoir une idée qui pourrait peut-être marcher grâce à ton astuce du BAT:
1- Copier le contenu du fichier EXE de l'application en cours dans un buffer.
2- Modifier la chaine voulue dans le buffer.
3- Ecrire le buffer dans un fichier portant un nom différent de celui de l'application.
4- Supprimer le fichier EXE en cours grâce à l'astuce du BAT.
5- Renommer (dans le BAT) le fichier créé à partir du buffer en lui donnant le nom de celui qu'on vient de supprimer.

Ca parait un peu lourd, mais logiquement ça devrait marcher.
Qu'en pensez-vous?
mercredi 8 septembre 2004 à 19:29:00 | Re : Peut-on écrire dans un fichier EXE en cours d'exécution?

BruNews

Administrateur CodeS-SourceS
ça parait viable.

ciao...
BruNews, Admin CS, MVP VC++
mercredi 8 septembre 2004 à 19:53:28 | Re : Peut-on écrire dans un fichier EXE en cours d'exécution?

racpp

Administrateur CodeS-SourceS
A propos de la ressource binaire, elle doit être dans un fichier supplémentaire, alors que moi je veux tout faire dans le même fichier exécutable de l'application.
Dès que j'ai un peu de temps, j'essaierai d'ajouter la commande "RENAME", suivie du chemin du fichier à renommer, au code d'auto-suppression, puis faire des tests pour voir ce que cela donnera.
A très bientôt.
mercredi 8 septembre 2004 à 20:00:24 | Re : Peut-on écrire dans un fichier EXE en cours d'exécution?

BruNews

Administrateur CodeS-SourceS
Une ressource binaire est interne a l'exe, j'ai fait exemple ici:

DLL HOOK EN RESSOURCE BINAIRE DU PROG (WIN32)
http://www.cppfrance.com/code.aspx?id=25450

pourrait y avoir idem un exe a la place de la dll.

ciao...
BruNews, Admin CS, MVP VC++
mercredi 8 septembre 2004 à 20:30:30 | Re : Peut-on écrire dans un fichier EXE en cours d'exécution?

racpp

Administrateur CodeS-SourceS
Quand on inclut une ressource binaire dans un fichier EXE , on ne peut pas la modifier pendant son exécution. Les fonctions BeginUpdateResource(), UpdateResource() et EndUpdateResource() ne peuvent pas modifier une resource dans un fichier EXE en cours d'exécution. L'accès en écriture leur est refusé.
mercredi 8 septembre 2004 à 20:32:33 | Re : Peut-on écrire dans un fichier EXE en cours d'exécution?

BruNews

Administrateur CodeS-SourceS
Si tu mets un exe en ressource c'est pour que soit lui qui te modifie et pas le contraire.

ciao...
BruNews, Admin CS, MVP VC++

1 2

Cette discussion est classée dans : fichier, écrire, mot, passe, exécutable


Répondre à ce message

Sujets en rapport avec ce message

comment protéger l'ouverture d'un fichier ? [ par f1cobra ] Bonjour, je voudrais protéger l'ouverture d'un fichier excell par un mot de passe, de manière a ce que seules les personnes ayant le mot de passe puis mot de passe [ par jeromedu94 ] bonjour,J'aimerais savoir comment est ce qu'on fait pour mettre un mot de passe à un fichier.J'ai regardé quelques exemple de sources, mais j'ai pas r Mot de passe fichier audio/video [ par goutbouyo ] Salut,Est -il possible de faire un programme en C (win32 ou non) qui demande un mot de passe à l'ouverture d'un fichier audio ou vidéo qui existe déjà En C, vérification user et mot de passe de connection à Windows [ par lionel_dumontet ] Existe-t-il une API Windows XP (appelable en C) qui permette de vérifier la validité d'un user et d'un mot de passe de connection à Windows ?En fait, Mot de passe avec étoile! [ par maevasa ] Bonjour,je voudrais savoir s'il y a un moyen d'afficher un mot de passe par des étoiles dans un edit box.Si quelqu'un a une idée lumineuse merci de de probleme avec le fgetc..... [ par raziel62 ] salut,j'ai un prob en C avec la fonction fgetc. Je voudrai mettre dans une variable le contenu d'un fichier .txt puis l'afficherj'ai fait ce code mais Ouvrir URL avec mot de passe [ par goutbouyo ] Salut,Je sais qu'il y a eu un post sur ça il n'y pas longtemps, mais moi c'est pas exactement la même chose donc la réponse proposée ne fonctionne pas test sur variable de type char [ par enrageur ] j'aimerais indetifier des mots dans un fichier txt. J'ouvre le fichier et je le copy dans un char (data). Ensuite je fais un test pour voir si les deu crée un mot de passe à une base Access [ par monimon18 ] bonjour, j'ai une base de donnée Access je veut créer un mot de passe à cette base par code, merci :-)en C++ si c possible Probleme dans mon prog password dans la gestion ' * ' [ par Jarod1980 ] Salut,Voila j'ai développé un programme de password qui récupère le password crypté dans un fichier et le compare au password rentré par l'utilisateur


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,638 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales