Existe uma ferramenta para permitir inspecionar objetos .NET em um processo em execução?

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

  •  20-08-2019
  •  | 
  •  

Pergunta

Eu estava pensando em uma ferramenta para inspecionar objetos em tempo de execução, principalmente para engenharia reversa e eu estou querendo saber se tal coisa existe.

A forma como eu estava pensando sobre o que foi que você tinha dois pontos de vista, um gráfico de objetos e uma lista de classe. A partir da lista de classe, você pode selecionar uma classe e ver as instâncias dele, seja em uma lista ou no gráfico. No gráfico, é possível ver as ligações entre objectos, anotado de forma adequada, por exemplo chaves em uma tabela hash pode ser rótulos nas bordas entre o objeto de tabela de hash eo valor.

Você também pode puxar para cima uma lista de propriedades do objeto e ver / manipular os valores dentro. Os metadados fornecidos em .NET faria isso bastante trivial.

Alguém sabe de uma ferramenta que pode fazer isso? Parece que uma ferramenta extremamente útil para depuração e engenharia reversa.

Edit: Além disso, outra característica útil seria a capacidade de definir mapeamentos de nome enquanto olha para um binário. Ou seja, se você tem um binário ofuscado, você seria capaz de trocar os nomes ofuscados por espaços reservados ou nomes reais. Isso não afetaria o binário real, apenas a vista no inspetor.

Editar parte 2:. A ferramenta deve ser capaz de rodar no Vista e XP e tem suporte para x64

Foi útil?

Solução

Há uma ferramenta chamada Crack.NET, especificamente para analisar o heap gerenciado.

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

http://www.codeplex.com/cracknetproject

Outras dicas

Se você tem um processo em execução, então você tem a algum lugar binário em sua máquina.

Você pode carregar este binário no refletor.

Ou se você tiver Visual Studio instalado, você pode anexar o Visual Studio Debugger para o processo em execução.

Existe um programa chamado Hawkeye que pode deixar você olhar para os elementos de interface do usuário em um aplicativo .NET.

Eu também encontrei um programa chamado .NET Inspetor de componentes Eu não sei como é bom (tentar isso agora).

Você pode sempre obter uma minidump da aplicação em questão e inspecioná-lo com WinDBG e SOS.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top