lite inversa ingenieria ilspy fuente descompilar codigo c# c++ vb.net visual-studio executable

c# - inversa - ¿Cómo obtener el código fuente de un ejecutable de Windows?



ingenieria inversa exe (7)

Tengo algunos viejos archivos ejecutables de Windows. ¿Cómo puedo editarlos con Visual Studio 2010? ¿Cuáles son las formas de ver el código fuente de un exe?


No hay nada que pueda hacer al respecto, me temo que no podrá verlo en un formato legible, es bastante intencional y mostrará el código de máquina interpretado, no habría formato ni comentarios como normalmente obtener en archivos .cs / .c

Es un escenario bastante impredecible.

Alguien ya lo ha preguntado en otro website


No puede obtener la fuente de C ++ de un archivo ejecutable, y solo puede obtener alguna versión de la fuente de C # a través de la reflexión. Tampoco será de mucha utilidad para usted, a juzgar por la forma en que hizo la pregunta.


Para cualquier archivo * .Exe escrito en cualquier idioma. Puede ver el código fuente con hiew (de lo contrario, la vista Hackers). Puede descargarlo en www.hiew.ru. Será la versión de demostración, pero todavía puede ver el código.

Después de esto siga estos pasos:

  1. Presione alt + f2 para navegar al archivo.

  2. Presione enter para ver su código de ensamblador / c ++.


Si el programa se escribió en C #, puede obtener el código fuente casi en su forma original utilizando .NET Reflector . No podrá ver los comentarios y los nombres de las variables locales, pero es muy legible.

Si fue escrito en C ++, no es tan fácil ... incluso si pudiera descompilar el código en C ++ válido, es poco probable que se parezca a la fuente original debido a las funciones en línea y las optimizaciones que son difíciles de revertir.

Tenga en cuenta que, mediante la ingeniería inversa y la modificación del código fuente, podría romper los términos de uso de los programas, a menos que los haya escrito usted mismo o tenga permiso del autor.


Si es código nativo, puedes desmontarlo. Pero no verá el código original como lo escribió el programador. Verás el código producido por el compilador (ensamblador). Posiblemente este código esté optimizado y, aunque sea semánticamente equivalente, puede ser mucho más difícil de leer que el ASM normal.

Si es bytecode (MSIL o javabytecode), hay un decompilador que puede producir un buen código fuente. Para .net, esto sería reflector.



Yo usaría (y he) IDA Pro para descompilar ejecutables. Crea código semi-completo, puedes descompilarlo en ensamblador o C.

Si tiene una copia de los símbolos de depuración alrededor, cárguelos en IDA antes de descompilar y podrá nombrar muchas de las funciones, parámetros, etc.