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
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
Eche un vistazo a este Decompilation Wiki, sospecho que responderá la mayoría de sus preguntas.
Supongo que vas a educación general, por cierto. –
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.
+1 te ayuda (principiante en lenguaje ensamblador) confundirse – BlackBear
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
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.
- 1. ¿Cómo descompilar un archivo exe compilado por py2exe?
- 2. Cómo descompilar un archivo .dll creado en VS.net
- 3. Integrado a * .exe en un dll
- 4. Escribiendo C# GUI sobre un C++ dll o C++ exe
- 5. Compilación de un código IronPython a EXE o DLL
- 6. Obtener la versión de archivo de un dll o exe
- 7. ¿Cómo saber si un archivo es un EXE o un DLL?
- 8. Cómo descompilar un archivo swf
- 9. ¿Puede un ensamblado C# .dll contener un punto de entrada?
- 10. Embalaje un exe + DLL en un ejecutable (no .NET)
- 11. ¿Cómo puedo descompilar un lote de DLL .NET en un proyecto de Visual Studio?
- 12. ¿Cómo puedo recuperar el número de versión de un archivo EXE o DLL de Windows?
- 13. ¿Cómo depuro en un ensamblado ILMerged?
- 14. Configuración compartida entre un .exe y un .dll
- 15. C++ Cómo compilar dll en .exe
- 16. ¿Cómo combino un dll no administrado y un ensamblado administrado en un archivo?
- 17. ¿Cómo puedo convertir un archivo JAR en un archivo EXE?
- 18. ¿Es posible combinar una DLL en un EXE .NET?
- 19. ¿Cómo descompilo un archivo .dll?
- 20. Descompilar un archivo GCH
- 21. Diferencia entre ensamblado y DLL
- 22. ¿Puedo usar 32bit dll o exe en 64bit python?
- 23. Descargue forzosamente DLL del ensamblado
- 24. No se pudo cargar el archivo o ensamblado '***. Dll' o una de sus dependencias
- 25. ¿Puedo depurar un ensamblado compilado?
- 26. ofuscación de .NET exe/dll
- 27. ¿Cómo se puede combinar un archivo DLL de Windows C++ en un exe de aplicación C#?
- 28. Diferencia entre .dll y .exe?
- 29. Cargar un ensamblado desde un recurso incrustado
- 30. ¿Es posible ejecutar un ensamblado .NET (dll) desde vbscript?
+1 para este asombroso desastre. –
cualquier forma de descompilar aplicaciones de 64 bits? – Havnar
Seguro que hay. La versión más nueva de IDA puede hacer eso (al igual que muchos otros) simplemente no es gratis. – Matt