macos - Conseguir el desmontaje completo de un binario ejecutable
gdb disassembly (4)
En Linux, puedes intentar usar objdump -D myprog
Tenga en cuenta que esto funcionará solo si el programa no contiene un flujo de control irregular. Especialmente el malware a menudo se ofusca, por ejemplo, insertando bytes espurios que luego se saltan.
Si tiene como objetivo este tipo de programas, he oído que uno de los mejores productos para usar es IDA pro .
¿Es posible obtener un desmontaje completo (que puede actuar como entrada para un ensamblador) de un ejecutable?
Cuando uso otool -tV a.out
, solo veo la sección de texto. Otras secciones como datos no son visibles.
Cuando uso gdb
, el comando de desmontaje requiere un inicio y una dirección final. Sin embargo, no sé cómo averiguar el inicio y la dirección final de un archivo binario (por ejemplo, a.out).
Estoy tratando de desmontar un ejecutable, jugar con el código de ensamblaje y luego volver a montarlo. ¿Es eso posible?
También ayudaría si uno puede encontrar los nombres de todas las secciones en un binario.
Puede usar el Desmontador de Tolva
citar:
Hopper es una herramienta de ingeniería inversa para Mac que le permite desensamblar, descompilar y depurar sus ejecutables Mac de 32/64 bits.
Cuesta $ 59, pero puede descargar una demostración para verificar si hace el trabajo primero.
EDITAR
Parece que puede lograr esto también con otool
, según el manual .
.B -d Muestra el contenido de la sección (_ / ^ _ DATA, _ / ^ _ datos).
También eche un vistazo a esta breve publicación de blog que describe el uso mencionado de otool
y cómo puede usar objdump
como lo menciona @Sjlver.
En Mac, puede instalar (posiblemente por homebrew) binutils que incluye gobjdump. Puede desmontar cualquier programa binario una vez instalado. Está abierto y gratis.
Intente usar este comando, recuerdo haberlo usado alguna vez:
otool -tvV a.out