Obtenir le désassemblage complet d'un binaire exécutable
Est-il possible d'obtenir un démontage complet (qui peut servir d'entrée à un assembleur) d'un exécutable?
Lorsque j'utilise otool -tV a.out
je vois seulement le texte de l'article. D'autres sections comme les données ne sont pas visibles.
Lorsque j'utilise gdb
le démonter commande nécessite un début et une adresse de fin. Cependant, je ne sais pas comment trouver le début et la fin de l'adresse d'un binaire (disons un.out).
Je suis en train de démonter un exécutable, de bricoler avec le code assembleur, puis de le remonter.
Est-ce possible?
Ça aussi aider si on peut trouver les noms de toutes les sections dans un fichier binaire.
source d'informationauteur mynk
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser cette commande, je me souviens à l'aide de temps en temps en arrière:
Sur Mac, vous pouvez installer (peut-être par homebrew) binutils qui comprend gobjdump. Vous pouvez démonter les binaires du programme, une fois installé. Il est ouvert et gratuit.
Vous pouvez utiliser le Trémie Désassembleur
citation:
Il en coûte $59, mais vous pouvez télécharger une démo pour vérifier si il fait le travail tout d'abord.
MODIFIER
Il semble que vous pouvez réaliser avec
otool
ainsi, selon le manuel.Également jeter un oeil à ce court post de blog qui décrit la question de
otool
et comment vous pouvez utiliserobjdump
comme mentionné par @Sjlver.Sur linux, vous pouvez essayer d'utiliser
objdump -D myprog
Notez que cela ne fonctionne que si le programme ne contient pas irrégulière de flux de contrôle. Surtout malware est souvent occulté, par exemple par l'insertion de fausses octets qui sont ensuite sauté par-dessus.
Si vous ciblez ce genre de programmes, j'ai entendu dire que l'un des meilleurs produits à utiliser est IDA pro.