Désassembler les exécutables binaires sous Linux pour la récupération du code d'assemblage
Pour approfondir le code d'assemblage sous-jacent des exécutables binaires, les désassembleurs s'avèrent être des outils indispensables . Alors que GNU Compiler Collection (GCC) sert principalement de compilateur, son outil complémentaire objdump offre une capacité de désassemblage pratique.
En utilisant objdump, vous pouvez facilement désassembler un exécutable binaire en utilisant le '-d'/'- -démonter le drapeau. Par exemple :
<code class="sh">$ objdump -d /path/to/binary</code>
Cette commande générera une sortie de désassemblage, fournissant une vue détaillée des instructions d'assemblage dans le binaire. Un exemple de sortie typique d'un désassemblage est présenté ci-dessous :
080483b4 <main>: 80483b4: 8d 4c 24 04 lea 0x4(%esp),%ecx 80483b8: 83 e4 f0 and xfffffff0,%esp 80483bb: ff 71 fc pushl -0x4(%ecx) 80483be: 55 push %ebp 80483bf: 89 e5 mov %esp,%ebp 80483c1: 51 push %ecx 80483c2: b8 00 00 00 00 mov x0,%eax 80483c7: 59 pop %ecx 80483c8: 5d pop %ebp 80483c9: 8d 61 fc lea -0x4(%ecx),%esp 80483cc: c3 ret 80483cd: 90 nop 80483ce: 90 nop 80483cf: 90 nop
Ce désassemblage fournit un aperçu des instructions de bas niveau exécutées par le programme, vous permettant d'analyser son comportement et de comprendre les détails de sa mise en œuvre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!