Désassembler... et après?
Résolu
arno-inside
-
arno-inside -
arno-inside -
Bonjour,
Voila, ayant entendu parler de désassemblage, j'ai essayer. J'ai créer un petit hello world en c, l'ai désassembler avec gdb...et je me trouve avec:
0x080483c4 <main+0>: lea 0x4(%esp),%ecx
0x080483c8 <main+4>: and $0xfffffff0,%esp
0x080483cb <main+7>: pushl -0x4(%ecx)
0x080483ce <main+10>: push %ebp
0x080483cf <main+11>: mov %esp,%ebp
0x080483d1 <main+13>: push %ecx
0x080483d2 <main+14>: sub $0x4,%esp
0x080483d5 <main+17>: movl $0x80484b0,(%esp)
0x080483dc <main+24>: call 0x80482f4 <puts@plt>
0x080483e1 <main+29>: mov $0x0,%eax
0x080483e6 <main+34>: add $0x4,%esp
0x080483e9 <main+37>: pop %ecx
---Type <return> to continue, or q <return> to quit---
0x080483ea <main+38>: pop %ebp
0x080483eb <main+39>: lea -0x4(%ecx),%esp
0x080483ee <main+42>: ret
Donc ma question, ca saire a quoi au final si je tombe sur des trucs incompréhensible (ou expliquez moi :))
Merci :P
Voila, ayant entendu parler de désassemblage, j'ai essayer. J'ai créer un petit hello world en c, l'ai désassembler avec gdb...et je me trouve avec:
0x080483c4 <main+0>: lea 0x4(%esp),%ecx
0x080483c8 <main+4>: and $0xfffffff0,%esp
0x080483cb <main+7>: pushl -0x4(%ecx)
0x080483ce <main+10>: push %ebp
0x080483cf <main+11>: mov %esp,%ebp
0x080483d1 <main+13>: push %ecx
0x080483d2 <main+14>: sub $0x4,%esp
0x080483d5 <main+17>: movl $0x80484b0,(%esp)
0x080483dc <main+24>: call 0x80482f4 <puts@plt>
0x080483e1 <main+29>: mov $0x0,%eax
0x080483e6 <main+34>: add $0x4,%esp
0x080483e9 <main+37>: pop %ecx
---Type <return> to continue, or q <return> to quit---
0x080483ea <main+38>: pop %ebp
0x080483eb <main+39>: lea -0x4(%ecx),%esp
0x080483ee <main+42>: ret
Donc ma question, ca saire a quoi au final si je tombe sur des trucs incompréhensible (ou expliquez moi :))
Merci :P
A voir également:
- Désassembler... et après?
- Désassembler pdf - Guide
2 réponses
Salut,
tu en fais ce que tu en veux !
Le désassemblage sert juste à voir comment sont traduites les instructions d'un langage de haut niveau (C, Java...), en langage de bas niveau, l'assembleur.
Maintenant, si tu veux t'amuser, reprends le programme en assembleur et modifie-le pour faire afficher autre chose.
tu en fais ce que tu en veux !
Le désassemblage sert juste à voir comment sont traduites les instructions d'un langage de haut niveau (C, Java...), en langage de bas niveau, l'assembleur.
Maintenant, si tu veux t'amuser, reprends le programme en assembleur et modifie-le pour faire afficher autre chose.