Wednesday, October 17, 2007
monodis: Desensamblar aplicacion o libreria de Mono
Entre las herramientas de Mono podemos encontrar la utilidad "monodis"(analoga a la herramienta de Microsoft .NET Framework 'ildasm') que nos funcionara para desensamblar el codigo IL compilado en un ensamblado, ya sea .dll o .exe.
¿Que finalidad tiene ver el codigo IL generado por el compilador? Pues es vital para los desarrolladores de compiladores, util para robar codigo:O o interesante para los curiosos;)
Vamos a probarlo!
¿Que vamos a hacer? Crear un archivo de codigo fuente sencillo(main.cs), compilarlo con el compilador de mono 1.1(mcs) y finalmente desensamblarlo con la utilidad monodis.
Abrimos una Terminal de Linux o una Consola y ejecutemos los siguientes pasos:
Creamos archivo de ejemplo:
echo "using System; class MainC{ static void Main(){ Console.WriteLine(\"Saludos\"); } }" > main.cs
Compilamos:
mcs -out:main.exe main.cs
Ejecutamos para probar el compilado:
mono main.exe
Desensamblamos:
monodis --output=main.exe.il main.exe
Eso nos ha generado nuestro archivo de codigo fuente IL y ahora vamos a imprimirlo completo en la consola:
cat main.exe.il
Estos pasos permiten guardar el codigo IL en un archivo pero no es necesario guardar el codigo en un archivo para inspeccionar el desensamblado, con simplemente ejecutar "$monodis nombre-enamblado" ya nos imprimira el codigo IL.
Ejemplo:
monodis main.exe
El resultado tanto del comando anterior como del archivo main.exe.il deberia ser algo parecido al siguiente archivo descargable:
main.exe.il
Listo!
Estoy preparando una manual practico para entender IL, en los proximos dias lo estare publicando.
Saludos!
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment