Maison  >  Article  >  développement back-end  >  Comment puis-je désassembler les exécutables binaires sous Linux pour récupérer le code assembleur ?

Comment puis-je désassembler les exécutables binaires sous Linux pour récupérer le code assembleur ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-27 08:52:30990parcourir

How can I disassemble binary executables in Linux to retrieve the assembly code?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn