Estaba pensando en una herramienta para inspeccionar objetos en tiempo de ejecución, principalmente para ingeniería inversa y me pregunto si existe tal cosa.¿Hay alguna herramienta que permita inspeccionar objetos .NET en un proceso en ejecución?
La forma en que lo pensaba era que tenía dos vistas, un gráfico de objetos y una lista de clases. Desde la lista de clase, puede seleccionar una clase y ver las instancias de la misma, ya sea en una lista o en el gráfico. En el gráfico, puede ver las conexiones entre objetos, anotadas apropiadamente, p. Ej. las claves en una tabla hash podrían ser etiquetas en los bordes entre el objeto de la tabla hash y el valor.
También puede obtener una lista de las propiedades del objeto y ver/manipular los valores en su interior. Los metadatos proporcionados en .NET harían esto bastante trivial.
¿Alguien sabe de una herramienta que puede hacer esto? Parece una herramienta inmensamente útil para la depuración y la ingeniería inversa.
Editar: Además, otra característica útil sería la capacidad de establecer asignaciones de nombres mientras mira un archivo binario. Es decir, si tiene un binario ofuscado, podría intercambiar los nombres ofuscados por marcadores de posición o nombres reales. Esto no afectaría el binario real, solo la vista en el inspector.
Editar parte 2: la herramienta debería poder ejecutarse en Vista y XP y ser compatible con x64.
Ah, ja, esto se ve genial. ¡Gracias! –
No hay problema. ¡Me alegro de poder ayudar! –
@Cody Obtuviste que esta aplicación funciona, parece que no puedo ejecutarla, se cuelga todo el tiempo :( –