Assembleur / Hexa

Bonjour,

Quand on ouvre un fichier .exe (ou autre) dans un éditeur héxadécimal comme Hex Workshop, on constate que les chaînes hexadécimales qui composent le fichier “correspondent” à des instructions assembleur…du moins c’est ce qu’il me semble… :neutre: Ainsi, si cela est correct, quelles sont les correspondances Assembleur / Hexadécimal?

Je précise: si par exemple, on souhaite changer une instruction (assembleur) dans un programme, comment connaître les modifications dans la chaîne hexadécimale à effectuer?

Je ne sais pas si j’ai été bien clair…je fais peut-être aussi fausse route… :pt1cable:

Merci d’avance :slight_smile:

Ce que tu définis s’appel le code machine, chaque instruction à son code machine équivalent, tu peux trouver les principales instructions asm ici ansi que le code machine (en rouge).

Merci beaucoup mais euh… :sweet: je ne vois pas dans les fichiers d’aide que tu viens de me donner ce que je désirais savoir… (si si j’ai cherché, mais n’étant pas encore tellement expérimenté, peut-être ne l’ai-je pas vu…) :neutre:

Si tu prends l’instruction Jxx, par exemple JNE, tu as en bas de l’aide :

75 cb JNE rel8 Jump short if not equal (ZF=0)

JNE = 0x75

ok … :sweet: je vais essayer de comprendre…

Il existe aussi des programmes qui s’occupent de te traduire le fichier exe en instructions assembleur correspondantes, comme w32dasm :

http://www.softpedia.com/get/Programming/D…ers/WDASM.shtml

Hélas payant, mais la version d’évaluation te permet déjà pas mal de choses.

Il ne cherche pas à désassembler mais à comprendre comment modifier un code machine sans altérer le programme, lire le code désassemblé par wdasm ne lui sera d’aucune utilité quant à la compréhension du code machine.