Existe-t-il un outil permettant d'inspecter des objets .NET dans un processus en cours d'exécution?

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

  •  20-08-2019
  •  | 
  •  

Question

Je pensais à un outil permettant d'inspecter des objets au moment de l'exécution, principalement pour le reverse engineering et je me demande si une telle chose existe.

Selon mes réflexions, vous aviez deux vues, un graphique d'objets et une liste de classes. Dans la liste de classes, vous pouvez sélectionner une classe et en afficher les instances, dans une liste ou dans le graphique. Dans le graphique, vous pouvez voir les connexions entre les objets, annotées de manière appropriée, par exemple. Les clés d'une table de hachage peuvent être des étiquettes sur les bords entre l'objet table de hachage et la valeur.

Vous pouvez également extraire une liste de propriétés d’objet et voir / manipuler les valeurs qu’il contient. Les métadonnées fournies dans .NET rendraient cela assez simple.

Quelqu'un connaît-il un outil capable de le faire? Cela semble être un outil extrêmement utile pour le débogage et le reverse engineering.

Modifier: une autre fonctionnalité utile serait la possibilité de définir des correspondances de noms tout en regardant un fichier binaire. Autrement dit, si vous avez un fichier binaire obfusqué, vous pourrez échanger les noms obfusqués contre des espaces réservés ou de vrais noms. Cela n'affectera pas le binaire réel, mais uniquement la vue dans l'inspecteur.

Modification de la partie 2: l’outil devrait pouvoir fonctionner sous Vista et XP et prendre en charge le format x64.

Était-ce utile?

La solution

Il existe un outil appelé Crack.NET, spécialement conçu pour analyser le segment de mémoire géré.

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

http://www.codeplex.com/cracknetproject

Autres conseils

Si vous avez un processus en cours d'exécution, vous avez le binaire quelque part sur votre ordinateur.

Vous pouvez charger ce binaire dans Reflector.

Ou, si Visual Studio est installé, vous pouvez attacher le débogueur Visual Studio au processus en cours d'exécution.

Un programme appelé Hawkeye permet de consulter les éléments de l'interface utilisateur. dans une application .NET.

J'ai également trouvé un programme appelé Inspecteur de composants .NET . Je ne sais pas comment. c'est bien (l'essayer maintenant).

Vous pouvez toujours obtenir un minidump de l'application en question et l'inspecter avec WinDBG et SOS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top