¿Existe una herramienta para permitir la inspección de objetos .NET en un proceso en ejecución?

StackOverflow https://stackoverflow.com/questions/485975

  •  20-08-2019
  •  | 
  •  

Pregunta

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.

La forma en que estaba pensando era que tenías dos vistas, un gráfico de objetos y una lista de clase. Desde la lista de clases, puede seleccionar una clase y ver sus instancias, ya sea en una lista o en el gráfico. En el gráfico, puede ver las conexiones entre objetos, anotados adecuadamente, p. 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 propiedades de objetos y ver / manipular los valores en su interior. Los metadatos proporcionados en .NET harían esto bastante trivial.

¿Alguien sabe de una herramienta que pueda hacer esto? Parece una herramienta inmensamente útil para la depuración y la ingeniería inversa.

Editar: también, otra característica útil sería la capacidad de establecer asignaciones de nombres mientras se mira un binario. Es decir, si tiene un binario ofuscado, podrá 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 tener soporte para x64.

¿Fue útil?

Solución

Existe una herramienta llamada Crack.NET, específicamente para analizar el montón administrado.

http://joshsmithonwpf.wordpress.com/cracknet/

http://www.codeplex.com/cracknetproject

Otros consejos

Si tiene un proceso en ejecución, entonces tiene el binario en algún lugar de su máquina.

Puede cargar este binario en Reflector.

O si tiene instalado Visual Studio, puede adjuntar el depurador de Visual Studio al proceso en ejecución.

Hay un programa llamado Hawkeye que puede permitirle mirar elementos de la interfaz de usuario en una aplicación .NET.

También he encontrado un programa llamado .NET Component Inspector No estoy seguro de cómo bueno es (probándolo ahora).

Siempre puede obtener un minivolcado de la aplicación en cuestión e inspeccionarlo con WinDBG y SOS.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top