Structure d'un exécutable

Ahmed -  
sebsauvage Messages postés 33415 Statut Modérateur -
Je suis programmeur débutant j’aimerais bien savoir la structure d’un exécutable pour pouvoir accéder à ces propres informations et bien si c’est possible les modifies (EX : comment je peut insérer des instruction sans l’endommager ? )
Si vous avez des liens vers d’autres sites ou n’import quoi !

Merci d’avance.

4 réponses

sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
>pour la pluspart des programmes, tu n'as pas le droit de les
>déassembler.

En Europe, si ! C'est parfaitement légal.
Ce sont les clauses de non-reverse-engineering des licenses des logiciels qui sont illégales.

La meilleure solution consiste à prendre un désassembleur
(le meilleur à mon avis : IDA (Interactive Disassembler Pro),
il y a aussi WDAsm32 et le vieux Sourcer).

Ensuite, il faut se bouffer le code assembleur, mais c'est
faisable !

(Je me souviens avoir passé 3 jours sur les 90000 lignes de code assembleur de Jazz Jackrabbit pour avoir les vies infinies... et j'ai réussi !)

Sinon, il faut savoir qu'il existe plusieurs structures de fichier EXE différents.
Pour la descriptions des formats des EXE eux-mêmes:
http://www.wotsit.org/search.asp?page=2&s=binary

Pout le reste: il faut se documenter sur l'assembleur.
Pour les EXE sous Dos, il faut se documenter sur le interruptions (cf. une de mes réponses sur le forum programmation).
Sous Windows, il faut avoir la documentation de l'API Win32 (on trouve ça chez Microsoft ou sur le site de Borland (ou bien dans Delphi 6 : c'est inclu dedans !)).
5
nait
 
vous n'avez pas de possibilité de modifier un programme déjà compilé.
aulieu de chercher a modifier des programme déjà realisé c'est mieux de programmer tes propres programmes .
0
elqo
 
ce que tu demande me fais penser a un etat tres avance des virus mais eux la + part des temps ils endommagent .????????
0
Bobinours Messages postés 2903 Statut Membre 504
 
Ahmed : En général, tout les programmes (indépendamment du langage avec lequel il à était écrit) sont transformés, grace au compilateur en langage machine. Ce langage est l'assembleur qui correspond au code hexadecimal, qui lui même correspond au code binaire.

Donc pour modifier un programme, désassemble le, et modifie le.
Bonne chance...

Attention : pour la pluspart des programmes, tu n'as pas le droit de les déassembler.

-= Bobinours =-
0