2010-12-30 113 views
8

Estoy realmente interesado en el lenguaje ensamblador y quiero aprender cómo funcionan los archivos ejecutables, etc., y tengo la idea de escribir una aplicación para descompilar un exe al código de ensamblaje ya que no soy un programador de ensamblaje muy bueno y con la falta de conocimiento del funcionamiento interno de exe no pude hacerlo. Como puedo leer un exe en hexadecimal, creo que no es imposible, pero no sé cómo escribir mi propio programa. Cualquier recurso o cualquier ayuda sería apreciada.Cómo descompilar un exe o un dll en el ensamblado

Respuesta

17

Creo que está buscando un desensamblador, no un descompilador. IDA pro parece ser popular y puede descargar una versión anterior gratis en http://www.hex-rays.com/idapro/idadownfreeware.htm

+0

+1 para este asombroso desastre. –

+0

cualquier forma de descompilar aplicaciones de 64 bits? – Havnar

+0

Seguro que hay. La versión más nueva de IDA puede hacer eso (al igual que muchos otros) simplemente no es gratis. – Matt

4

Eche un vistazo a este Decompilation Wiki, sospecho que responderá la mayoría de sus preguntas.

+0

Supongo que vas a educación general, por cierto. –

6

Ya hay muchos desensambladores escritos para usted (consulte más arriba), pero no creo que leer el código desmontado lo ayude a convertirse en un mejor escritor de ensamblajes. La razón principal de esto es que los compiladores realizan MUCHA optimización antes de generar conjuntos. A menudo, esto hace que el código sea muy complicado de leer, pero el código altamente eficiente para analizar.

+0

+1 te ayuda (principiante en lenguaje ensamblador) confundirse – BlackBear

+2

He votado negativamente esta respuesta ya que esta no es una respuesta, solo estoy tratando de disuadir a OP de intentar desarmar. Pensándolo bien, ya que este es un comentario un tanto válido, quise deshacer el voto negativo, pero SO no me deja hacer eso. – ssh

3

Si le interesa cómo se ve un programa compilado a nivel de ensamblador, un enfoque mucho más significativo sería compilar y observar el ensamblaje generado. Por ejemplo, con gcc/g ++ esto solo requiere gcc -c -S filename.c y dejará un archivo de ensamblaje de texto claro para mirar.

Cuestiones relacionadas