Escribí una aplicación C # para un cliente hace un par de años, pero ya no tengo el código fuente. Todo lo que tengo es el EXE que implementé en la PC del cliente. ¿Hay alguna manera de generar el código fuente de C # desde el EXE?
Escribí una aplicación C # para un cliente hace un par de años, pero ya no tengo el código fuente. Todo lo que tengo es el EXE que implementé en la PC del cliente. ¿Hay alguna manera de generar el código fuente de C # desde el EXE?
Respuestas:
Reflector y su complemento FileDisassembler .
Reflector permitirá ver el código fuente. FileDisassembler le permitirá convertirlo en una solución VS.
Cuando Puerta Roja dijo que no habría dejado de ser una versión libre de .Net reflector, que empecé a usar ILSpy y Telerik JustDecompile . He encontrado que ILSpy se descompila con mayor precisión que JustDecompile (que todavía está en Beta). Red Gate ha cambiado su decisión y todavía tiene una versión gratuita de .Net Reflector, pero ahora me gusta ILSpy.
Desde el sitio web de ILSpy ( https://github.com/icsharpcode/ILSpy/ ):
ILSpy es el navegador y descompilador de ensamblado de código abierto .NET.
Actualizar:
15 de abril de 2012, se lanzó ILSpy 2.0. Nuevas características en comparación con la versión 1.0:
Actualizar:
Reflector ya no es gratuito en general, pero lo ofrecen gratis para desarrolladores de código abierto: http://reflectorblog.red-gate.com/2013/07/open-source/
Pero algunas compañías como DevExtras y JetBrains han creado alternativas gratuitas:
Reflector y el complemento Desmontador de archivos de Denis Bauer. Realmente produce proyectos de origen a partir de ensamblajes, donde Reflector por sí solo solo muestra la fuente desmontada.
AGREGADO: Mi último favorito es dotPeek de JetBrains .
Telerik JustDecompile es gratuito y tiene una función para crear proyectos a partir de ensamblados .NET.
Me sorprende que nadie haya mencionado el ildasmo de Microsoft . Puede que no sea tan bonito como ILSpy o Reflector, pero viene con Visual Studio, por lo que muchos desarrolladores ya lo tienen.
Para ejecutarlo (suponiendo que VS 2013, debería ser similar para otras versiones):
Ahora puede navegar por la estructura DLL. Haga doble clic en los miembros de la clase para ver la IL. Use Archivo> Volcado para exportar IL a un archivo.
Quieres reflector .