08.febrero.2011 - OllyDBG para .NET?
Voy a intentar explicar los dos nuevos mensajes que publicó Oleh en su página.
-El día 06 de febrero de 2011, el autor de OllyDBG, publicó en su página Web una duda que tenía acerca de cómo hacer un debugger para NET. No sabemos si es que quiere que OllyDBG sea capaz de depurar código nativo y .NET, o va a crear una herramienta paralela sólo para NET.
Según él, analizar un debugger para .NET y desensamblarlo es sencillo, tal vez demasiado sencillo ("
maybe too easy"), pero hay un problema y es que para depurar aplicaciones en .NET se necesitan API específicas: por ejemplo para poner un simple INT3 se usa ICorDebugProcess2::SetUnmanagedBreakpoint. El problema es que Oleh usa para crear OllyDBG Borland C++ y estas API específicas aparecen en C# 3.0. La pregunta que hace Oleh es: ¿Cómo puede llamar a ICorDebugProcess2 desde Borland?
-Día 08 de febrero de 2011.
Parece ser que dos días después tuvo muchas respuestas a su mensaje, y se quedó con la solución que parece más sencilla: ICorDebugProcessQueryInterface(IID_ICorDebugProcess2...)
Más información y post originales en el siguiente enlace:
http://www.ollydbg.de/
Aunque éste es un apartado de noticias, en todo el mismo he intentado ser lo más objetivo posible sin plantar mi propia opinión. Pero en este artículo voy a ser un poco diferente. Si el lector no está interesado que salte el comentario.
[Opinión de karmany]
Realmente el desarrollo de OllyDBG versión 2.0 se comenzó allá por finales del año 2006. Empezó como una nueva versión que plantará cara y será mucho mejor que la archiconocidad 1.10. Tiene muchas más opciones de análisis y unas mejoras que no voy a explicar aquí.
Después de unos 5 años ha salido la versión 2.0.1 a la cuál posiblemente sólo le quede la implementación de los plugin, algo que hará al programa estar al nivel de su antecesor y los programadores de plugins empezarán a modificar sus herramientas para adaptarlas a su nuevo entorno.
El autor empezó a trabajar en el debugger de 64bits y ahora en .NET, y para mí es posible que éste último no sea el camino o la orientación adecuada. Parece ser que el trabajo de esta magnifica herramienta está siendo desarrollado por una sola persona y esto ralentiza mucho cualquier adelanto.
Yo me planteo lo siguiente: ¿No sería mejor terminar ya la versión 2 para ejecutables en Win32?¿No sería mejor realizar tres proyectos diferentes: 32bits, 64bits y .NET?
Sólo sé que el debugger para win32 se está ralentizando enormemente, y pienso que tendría que haber nacido hace ya uno o dos años.
Saludos
[/Opinión de karmany]