2009-10-22 13 views

Respuesta

1

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

+0

Para obtener varias definiciones de "ver el código fuente". Aclamaciones. –

+0

ya ... código DLL de red puedo ver, pero tengo DLL de lenguaje win32. es la compilación posible para esto. – Naruto

1

Son diferentes formatos.

para un archivo DLL .NET, puede utilizar ildasm.exe (instalado con .NET Framework) o .NET Reflector (descarga)

+0

Gracias, ¿Pero qué tal las DLL de Win32? – Naruto

+0

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 ...) –

15

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.

0

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.

1

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/

0

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.

0

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)

1

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.

+0

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. –

0

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.

Cuestiones relacionadas