Maison  >  Article  >  développement back-end  >  Comment puis-je désassembler un fichier exécutable sous Linux à l’aide d’objdump ?

Comment puis-je désassembler un fichier exécutable sous Linux à l’aide d’objdump ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 03:56:30940parcourir

How can I disassemble an executable file in Linux using objdump?

Comment désassembler les exécutables sous Linux

Le désassemblage d'un exécutable binaire en code assembleur fournit un aperçu des instructions machine sous-jacentes. Une idée fausse courante est que gcc a un désassembleur intégré, mais ce n'est pas le cas car gcc est avant tout un compilateur.

L'outil GNU objdump offre un moyen pratique d'effectuer le désassemblage. En appelant objdump avec l'indicateur -d/--disassemble, vous pouvez obtenir la représentation en code assembleur de l'exécutable spécifié.

Par exemple, pour désassembler le binaire situé dans "/path/to/binary", vous exécuterait la commande suivante :

$ objdump -d /path/to/binary

Le résultat du désassemblage ressemblera à ce qui suit :

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 une représentation détaillée des instructions du code assembleur de l'exécutable, permettant l'analyse et le débogage de logiciels complexes.

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