Título: Ingeniería Inversa en .NET ? Publicado por: Art3 en 24 Enero 2010, 00:13 am Hola hace tiempo que no hago nada de "Ingeniería Inversa" (unos 4 años) pero tengo un programa escrito en .NET (framework) al que me gustaria ver como funciona, lo abro con olly pero no me funciona :rolleyes:
si alguien me peude dar alguna idea de algun debugger a usar o alguanos tutoriales sobre este lenguaje, me ayudaria mucho. RDG me dice: C#/Visual Basic .NET Gracias. Título: Re: Ingeniería Inversa en .NET ? Publicado por: Amerikano|Cls en 24 Enero 2010, 00:23 am Usa Reflector para este tipo de programas: http://reflector.red-gate.com/download.aspx (http://reflector.red-gate.com/download.aspx)
Título: Re: Ingeniería Inversa en .NET ? Publicado por: Art3 en 24 Enero 2010, 03:58 am Gracias me puse a investigar y por ahroa estoy tebajando con Reflector y DotNET Tracer.
aunque ahora me parece que esta seria la parte importante: Código: Public Shared Sub () El programa valida user y pass conectandose a una web, veo que despues de hacer un llamado a Sytem.web.dll llama a esa funcion con nombre raro (de echo son varias) poniedo el reflector en IL me muestra esto: Código: .method public hidebysig static void () cil managed es un tanto incompresible para mi necesito estudiar que es exactamente IL. Gracias. Título: Re: Ingeniería Inversa en .NET ? Publicado por: Amerikano|Cls en 24 Enero 2010, 04:18 am IL es el Intermediate Lenguaje es algo asi como los opcodes que interpreta la maquina virtual del .NET Framework para realizar las instrucciones, Te dejo un link que lo explica mejor.
http://www.ajlopez.net/ReferenciaVe.php?Id=17 (http://www.ajlopez.net/ReferenciaVe.php?Id=17) Salu2 Título: Re: Ingeniería Inversa en .NET ? Publicado por: MCKSys Argentina en 25 Enero 2010, 06:31 am Fíjate que el código se puede seguir aún estando ofuscado.
Por ej, en el ejemplo que pusiste, los br.s son lo mismo que un jmp en ASM. Osea, lo que hace es transferir la ejecución a la etiqueta que tiene como parámetro. Con Reflexil (plugin de Reflector) podrás seguir perfectamente el código, pues te dice que hace cada opcode ;) El ejemplo "traducido" quedaría: Código: .method public hidebysig static void () cil managed Por supuesto, las "etiquetas" cambiarán, pero ya puedes usar Reflexil para des-ofuscar el código ;D Saludos! Título: Re: Ingeniería Inversa en .NET ? Publicado por: vanse en 1 Marzo 2010, 23:58 pm me parecio interesante este link.
http://www.windowstecnico.com/archive/2010/02/09/modificaci-243-n-e-inyecci-243-n-de-c-243-digo-en-ensamblados-net.aspx saludos probando. |