Accueil > Forum > > > > Modifier un fichier .exe en cours d'exécution
Modifier un fichier .exe en cours d'exécution
vendredi 8 décembre 2006 à 15:54:42 |
Modifier un fichier .exe en cours d'exécution

JonathanHawke
|
Bonjour, Je souhaîte écrire un programme qui est capable de se modier lui-même et de mettre à jour son fichier .exe correspondant. Tout se passe bien si je sauvegarde les modifications sous un autre nom de fichier que celui en cours d'exécution. Mais le problème c'est que je voudrais directement modifier celui qui est exécuté. Windows m'interdit cette modificiation. Le but est de faire un programme qui se "souvient" de son passé, sans avoir à écrire dans des fichiers auxiliaires. Existe-t-il une fonction permettant d'outre-passer l'interdiction d'écriture imposée par le système, ou de faire croire au système que le programme a été quitté mais que celui-ci continue de s'éxécuter en RAM ? Merci! Jonathan
|
|
vendredi 8 décembre 2006 à 16:00:12 |
Re : Modifier un fichier .exe en cours d'exécution

BruNews
|
N'a aucun sens ton truc, un prog n'est en ram que tant que le système l'y héberge sinon il n'existe plus.
ciao... BruNews, MVP VC++
|
|
vendredi 8 décembre 2006 à 16:13:24 |
Re : Modifier un fichier .exe en cours d'exécution

JonathanHawke
|
Merci de ta réponse mais tu n'as pas compris mon problème (je me suis probablement mal expliqué, mais je te garanti que ça a un sens puisque ça marche très bien sous Linux).
Je vais plutôt donner un exemple simple qui résume très bien ce que je veux faire:
Disons que je veux un programme "prog.exe" qui lorsqu'on l'exécute affiche "Ce programme a été exécuté 1 fois". Lorsqu'on l'exécute une deuxième fois, il affiche "Ce programme a été exécuté 2 fois". La prochaine fois il affichera "Ce programme a été exécuté 3 fois". Et ainsi de suite. Mais je ne veux pas que le programme utilise de fichier .dat ou .ini pour stocker l'état du compteur. Je veux en fait que ce compteur soit stocké dans l'exécutable lui-même.
Pour cela le programme charge une copie de lui-même dans un buffer, effectue un modification adéquate sur ce buffer, et sauvegarde ce buffer sous le même nom que le programme en cours d'exécution. Encore une fois, pas de problème avec Linux, mais Windows quant à lui m'interdit l'écriture car le fichier est en cours d'exécution.
Voilà, j'espère que c'est un peu plus clair.
|
|
vendredi 8 décembre 2006 à 16:20:54 |
Re : Modifier un fichier .exe en cours d'exécution

BruNews
|
Mais j'avais très bien compris sauf que sous Windows on ne modifie pas l'exe qui est chargé, Windows n'autorise qu'un handle SHARE_READ sur le fichier. Il faut pour cela une mini ruse, prog externe qui se chargera de mettre à jour. Cet auxiliaire peut très bien se trouver en ressource, extrait à l'exécution et se supprimer en fin de parcours.
ciao... BruNews, MVP VC++
|
|
vendredi 8 décembre 2006 à 16:24:29 |
Re : Modifier un fichier .exe en cours d'exécution

vecchio56
|
"faire croire au système que le programme a été quitté mais que celui-ci continue de s'éxécuter en RAM" Tu es vraiment sur que ca à un sens? Je ne pense pas Je pense que ce ne serai pas logique non plus de modifier un exe en cours d'exécution. Il me semble qu'un exécutable n'est pas chargé entièrement en mémoire dès le début (seulement les parties utiles). Dans ce cas, il serait impossible de retrouver le code correspondant à l'exe qui est en tain de s'exécuter _____________________________________ Un éditeur de ressources gratuit pour Windows
|
|
vendredi 8 décembre 2006 à 16:27:05 |
Re : Modifier un fichier .exe en cours d'exécution

vecchio56
|
De toutes facons, les fichiers de savegardes externes (ou la base de registres) sont une solution plus propre, par exemple pour revenir facilement à la configuration d'origine (il suffit de supprimer ces fichiers). C'est la solution utilisée par tout le monde, pourquoi vouloir faire autrement? _____________________________________ Un éditeur de ressources gratuit pour Windows
|
|
vendredi 8 décembre 2006 à 16:43:34 |
Re : Modifier un fichier .exe en cours d'exécution

JonathanHawke
|
"C'est la solution utilisée par tout le monde, pourquoi vouloir faire autrement?"
Parce que je ne veux pas faire comme tout le monde. Je cherche à compliquer au maximum la vie de l'utilisateur/cracker qui voudrait traffiquer les fichiers externes afin que le programme lui donne ce qu'il veut. Mon programme est un jeu de lotterie qui a besoin de sauvegarder des infos (comme le solde de crédit de l'utilisateur, un checksum qui permet de voir si les variables du programme ont été modifiées à l'aide d'un debbuger, et d'autres trucs) afin qu'elles soient disponibles lors de la prochaine exécution.
Si le solde créditeur de l'utilisateur est stocké dans un fichier, il suffirait à l'utilisateur de faire une copie de ce fichier et de la restaurer s'il perd afin de récupérer ses crédits.
|
|
vendredi 8 décembre 2006 à 16:45:36 |
Re : Modifier un fichier .exe en cours d'exécution
|
vendredi 8 décembre 2006 à 16:51:04 |
Re : Modifier un fichier .exe en cours d'exécution

JonathanHawke
|
"La tu peux faire une copie de l'exécutable, c'est pareil :)"
Non, j'ai trouvé une astuce qui permet de détecter ça (mais que je préfère garder secrète, car elle fait partie de la sécurité de mon programme). Malheureusement cette astuce n'est pas applicable pour un fichier externe.
|
|
vendredi 8 décembre 2006 à 22:40:33 |
Re : Modifier un fichier .exe en cours d'exécution

yann_lo_san
|
Il me semble que la cryptographie est faite pour ça, une clef privée sur ton serveur et des clefs publiques pour chacun de tes clients, ou simplement un code de ton cru pour décrypter un fichier externe que l'utilisateur ne verra jamais. Meme si il est vrai que tout est crackable, cela dit ton idée est originale. Sinon grace à la date de création d'un fichier, on peut empecher la vulgaire copie/remplacement. Tchao.
|
|
Cette discussion est classée dans : fichier, exe, modifier, cours, exécution
Répondre à ce message
Sujets en rapport avec ce message
quel programme pour modifier un exe [ par ata100t ]
super neuneu en programmation mais tres curieux, (rester au dos et fichier .bat)je souhaite modifier servudaemon.exe histroire de comprendre comment c
Modifier un FICHIER XML [ par ced09 ]
Bonjour, dans mon code j'arrive a lire et ecrire tout le fichier xml, mais je voudrais faire des modification dans le noeud principale sans que sa ch
Modifier des octets dans un fichier ? [ par supergrey ]
Salut, je voudrais savoir comment modifier des octets au milieu d'un fichier, jusqu'ici je recopier tout le fichier en changeant les octet voulu mais
conversion d'un fichier .exe en C ou C++ [ par leomagic ]
[size=12]decodman[:o)[/size=12]Salut tout le monde! Si c'est possible, est ce que vous pouvez m'aider à trouver un code source en ASM qui p
Rotation d'un fichier pdf [ par Lepripri ]
Bonjour à tous, je recherche un moyen d'effectuer une rotation de 180° d'un pdf d'une seule page provenant d'un copieur (il s'agit donc d'une image).
Insérer/supprimer charactères dans un fichier [ par gwenChina ]
Bonjour,En fait je doit aller modifier des charatères a l'intérieur d'un fichier (octet par octet). J'arrive tout a fait à écrire dans le fichier en r
Recuperer le chemin de l'exe en cours... [ par XKaliBur ]
Il existe bien GetModuleFileName() mais elle me retourne un truc du genre C:\Program Files\Mon Programme\Monfichier.exe alors que moi je veu plus un t
Modifier un fichier texte [ par SpiritAnghell ]
Bonsoir; Voila je dispose d'un fichier texte de sous-titres. Il est fait de la facon suivante: 1 00:00:24,441 --> 00:00:25,359 Ca y est. 2 00:00:27
Modifier les dates d'un fichier [ par JejeLand ]
Bonjour,Voila mon problème, je développe sous C++ Builder et je souhaiterais modifier les dates de créations et de modifications d'un fichier.Ayant tr
Ouvrir un fichier le modifier puis l exporter [ par adess00 ]
SalutJ ouvre un fichier en binaire comme ceci ftoc=fopen(chem,"rb");ensuite je voudrai lire les donnees ki sont dans ce fichier par bloc compri entre
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|