¿Qué software se puede usar para ver el código fuente en un archivo .dll, independientemente del lenguaje de programación utilizado para el código fuente?Código de descompilación (independiente del idioma)
Respuesta
Le interesa descompilar ensamblajes. Pues aquí tienes un comienzo en NET descompilación: http://aspnet.4guysfromrolla.com/articles/080404-1.aspx
Una herramienta popular en la comunidad .NET para conjuntos descompilación es .NET Reflector
Son diferentes formatos.
para un archivo DLL .NET, puede utilizar ildasm.exe (instalado con .NET Framework) o .NET Reflector (descarga)
Gracias, ¿Pero qué tal las DLL de Win32? – Naruto
No se descompilan tan fácilmente en sus idiomas originales. No sé de una buena herramienta, que no sea un difusor (y luego verá el ensamblaje x86 solamente ...) –
si es un DLL administrado (.NET), se puede abrir en el uso de herramientas como Reflector o ILDASM y verá el código IL. (Editar 2017-02-03: en 7 años o más, los desensambladores .NET por supuesto han progresado mucho y ahora son capaces de producir código C# muy decente)
Si es una DLL no administrada (nativa), estás fuera De suerte. Lo mejor que puedes hacer es cargar un desensamblador. Lo cual te lleva casi a ninguna parte a menos que sepas exactamente a dónde quieres llegar.
Para descompilar una .Net DLL, puede usar .Net Reflector. Funcionará para archivos DLL escritos en cualquier lenguaje .Net.
Para descompilar un archivo Java JAR, intente Java Decompiler.
Descompilar el código nativo (C++) es mucho más difícil.
No es posible (1) descompilar el código del objeto en el código fuente. Inspeccionar una interfaz es otra cosa en total; existen herramientas que existen, pero no sé de ninguna manera.
(1) - bueno, está bien, es posible que algunos idiomas y bajo ciertas condiciones, pero el código producida no es exactamente ser legible ...
El único código legible que obtendrá es el lenguaje ensamblador (hay muchos programas para esto). Hay algunos idiomas que se pueden descompilar en código fuente original (o cercano), como Visual Basic 3. Pero, ¿quién escribe programas en VB3 hoy en día? Nadie. En cuanto a ver las importaciones/exportaciones de la DLL, puede utilizar el programa Dependency Walker de: http://www.dependencywalker.com/
Para algunos idiomas, por ejemplo Visual Basic o C#, se puede conseguir leer el código fuente si se utiliza un buen decompilador y el código no se ofusca (que es la mayoría de las veces no es)
Comprobar este sitio si usted está interesado en descompilación: http://www.program-transformation.org/Transform/DecompilationPossible
para .Net, .NET Reflector es la manera de ir. Descompilará su dll en C# o VB.NET http://www.aisto.com/roeder/dotnet/
A menos que esté en .NET land, lo que hay en una DLL es un código binario. El único lenguaje en el que puede ver esto es ensamblador, que es solo una forma mnemotécnica de presentar el lenguaje de la máquina.
Para .NET, Reflector hará esto; el "Pro" version (ahora en la vista previa) tiene un complemento para Visual Studio que le permite depurar en la mayoría del código administrado dentro del VS IDE, en lugar de ser una herramienta separada. Hasta el momento, se ve muy dulce.
Reflector EAP http://www.simple-talk.com/community/blogs/alex/attachment/74919.ashx
Independientemente de un lenguaje .Net utiliza - todo lo que se compilará a MSIL (Lenguaje intermedio de Microsoft). Puede utilizar herramientas como Ildasm para convertirlo a leer "el texto desmontado":
http://msdn.microsoft.com/en-us/library/f7dy01k1.aspx
También puede utilizar el reflector: http://www.builderau.com.au/program/asp/soa/Look-inside-NET-DLL-files-with-Reflector/0,339028371,339287377,00.htm
para examinar las clases y métodos (soporta diferentes lenguajes .Net)
Ya se dijo lo suficiente sobre la descompilación de .NET. Si alguna vez decide comenzar con los binarios nativos de ingeniería inversa, le recomiendo usar IDA.
Admite diferentes sistemas operativos, arquitecturas de procesadores, detecta y muestra el uso de bibliotecas estándar (para que pueda encontrar fácilmente lugares de interés), muestra gráficos de dependencias entre subrutinas, muestra procedimientos argumentos en la pila, etc. También puede ser guionado y 's scripts que detect C++ classes and try-catch blocks, finds COM interfaces names for UUIDs y hacer muchas otras cosas. Es una gran herramienta y hay una versión gratuita de la misma.
Algunas advertencias * sobre IDA: 1. La versión gratuita (disponible en el [centro de descargas]) (https://www.hex-rays.com/products/ida/support/download.shtml)) hay muchos lanzamientos detrás de la versión comercial y solo admite binarios de 32 bits; 2. la versión comercial "inicial" cuesta actualmente 589 USD y "no admite archivos de 64 bits"; 3. la versión "profesional" (que admite archivos de 64 bits) cuesta 1129 USD. –
Para archivos DLL nativos this program, Hex-Rays Decompiler (una capa en la parte superior del excelente desensamblador-depurador IDAPro) es probablemente lo más cerca que puede obtener. No restaura el código original sino que convierte el desensamblaje en un pseudocódigo tipo C. Aunque no es barato.
- 1. Descompilación de código de byte ofuscado java
- 2. descompilación java
- 3. Recuperar el valor del contador de rendimiento de forma independiente del idioma
- 4. Descompilación de EXE a ASM
- 5. explorar y pitón descompilación de código de bytes
- 6. PIC (código independiente de posición)
- 7. Servidor de compilación y prueba automatizado independiente del idioma para múltiples proyectos
- 8. ¿Cómo funciona la descompilación?
- 9. ¿Editores de código de tabulación apropiada del idioma para Linux?
- 10. Localización de iPhone: ¿recibe el código de idioma del teléfono?
- 11. ¿Cuál es la mejor manera de serializar datos en un formato binario independiente del idioma?
- 12. Nombre de idioma del código ISO 639-1 en Javascript
- 13. Código independiente de posición y tabla variable
- 14. Análisis del código estático para un nuevo idioma. ¿Donde empezar?
- 15. Configuración del idioma del teclado del iPhone
- 16. Descompilación de las bibliotecas de Objective-C
- 17. jQuery - presione el carácter - INDEPENDIENTE del teclado
- 18. ¿Por qué la JVM no es independiente de la plataforma, dado que Java (el idioma) es independiente de la plataforma?
- 19. Generando código para otro idioma en Haskell
- 20. Descompilación de aplicaciones de Adobe AIR
- 21. Obtener el nombre del idioma localizado del código de configuración regional
- 22. Aplicación Yesod independiente del nombre de host
- 23. Selección del idioma del sitio web
- 24. Reemplazar el icono en Windows * .exe del código Java independiente de la plataforma de fuente abierta
- 25. Creación de plantilla de sitio web que es independiente del código fuente en asp.net webforms
- 26. de dominio de recursos específicos del idioma
- 27. ¿cuál es la mejor manera de proteger el código fuente .NET desde descompilación
- 28. Uso de un idioma diferente para las vistas del sistema que el idioma actual del dispositivo
- 29. Idioma manera independiente para conseguir "Mis documentos" carpeta en VBA Excel 2003
- 30. ¿Hay alguna desventaja para que un idioma sea independiente de la plataforma?
Para obtener varias definiciones de "ver el código fuente". Aclamaciones. –
ya ... código DLL de red puedo ver, pero tengo DLL de lenguaje win32. es la compilación posible para esto. – Naruto