remarks generate example code c# dll decompiler recompile

c# - generate - dotnet dll descompila y cambia el código



params comments c# (2)

Necesito cambiar el código de la DLL .NET. Puedo ver el código compilando la DLL con .NET reflector, pero no puedo cambiar el código de la DLL. Con .NET Reflector, descompilo el código y lo guardo en mi disco duro, pero cuando puedo recompilar el código, da errores.

Pocos códigos se descompilan en formato binario, pocos códigos se descompilan con c #. ¿Hay alguna herramienta para cambiar y recompilar la DLL?

Estas son las herramientas que utilicé para tratar de descompilar la DLL:

  • ILSpy
  • DisSharp
  • Reflector7.1 Con el complemento Reflexil
  • Spices.Net.Suite.5.8
  • Implementar .NET 1.0.0
  • devextras.codereflect
  • dotPeek-1.0.0.2545
  • intellilock
  • JustDecompile_BETA_2011.1.728.1

Desafortunadamente, ninguna de las herramientas brinda un código fuente perfecto para recompilar el código DLL.


El siguiente código está funcionando:

"C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Bin/ildasm.exe" original.dll /out=code.asm echo Here changes to code.asm should be done. C:/Windows/Microsoft.NET/Framework/v4.0.30319/ilasm.exe /dll code.asm

Entonces, si el cambio en el código es pequeño, es posible hacer los cambios en el código ensamblador directamente. Uno puede compilar y desmontar métodos simples para ver cómo debería ser el código ensamblador. Poner métodos adicionales dentro del archivo de ensamblaje no debería ser demasiado difícil también.

Por supuesto, los análisis de código deben hacerse usando herramientas similares a ilspy, mostrando el código fuente en lugar del código ensamblador.

Las herramientas empleadas aquí provienen del SDK de Windows (ildasm) y del framework .net (ilasm).


He tenido un éxito limitado en la recompilación de archivos DLL. Una mejor forma de hacerlo es usar Reflector y el complemento Reflexil . Necesita tener un conocimiento un poco mejor del código IL que compone los ensamblados .NET pero Reflexil hace un gran trabajo al describir los códigos OP. En mi blog repaso cómo modifiqué el editor de ayuda de PowerShell Cmdlet: http://csharpening.net/?p=348