2009-01-28 5 views
6

Je pensais à un outil pour inspecter les objets lors de l'exécution, principalement pour l'ingénierie inverse et je me demande si une telle chose existe. La façon dont je pensais à ce sujet était que vous aviez deux vues, un graphique d'objets et une liste de classe. Dans la liste des classes, vous pouvez sélectionner une classe et en voir les instances, soit dans une liste, soit dans le graphique. Dans le graphique, vous pouvez voir les connexions entre les objets, annotées de manière appropriée, par ex. les clés d'une table de hachage peuvent être des étiquettes sur les bords entre l'objet de table de hachage et la valeur.Existe-t-il un outil permettant d'inspecter les objets .NET dans un processus en cours?

Vous pouvez également afficher une liste des propriétés d'un objet et voir/manipuler les valeurs qu'il contient. Les métadonnées fournies dans .NET rendraient cela plutôt trivial.

Est-ce que quelqu'un connaît un outil qui peut faire cela? Il semble être un outil extrêmement utile pour le débogage et l'ingénierie inverse. Editer: Aussi, une autre fonctionnalité utile serait la possibilité de définir des mappages de noms tout en regardant un binaire. C'est-à-dire, si vous avez un binaire obfusqué, vous seriez en mesure d'échanger les noms obfusqués pour les espaces réservés ou les noms réels. Cela n'affecterait pas le binaire réel, juste la vue dans l'inspecteur.

Modifier la partie 2: L'outil doit pouvoir fonctionner sous Vista et XP et prendre en charge x64.

Répondre

1

Si vous avez un processus en cours, alors vous avez le binaire quelque part sur votre machine.

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.

+0

réflecteur n'a pas de support réel pour le débogage (il a un plugin débogueur mais il est inutile) et le débogueur VS a un support très limité pour creuser à travers tous les objets dans le processus. Merci quand même. –

1

Il existe un programme appelé Hawkeye qui peut vous permettre de voir les éléments de l'interface utilisateur dans une application .NET.

J'ai aussi trouvé un programme appelé .NET Component Inspector Je ne sais pas à quel point c'est bon (l'essayer maintenant).

+0

Cela semble seulement vous permettre de regarder les éléments de l'interface graphique - est-ce que je me trompe? –

+0

Ouais je désolé à ce sujet :( –

+0

Merci quand même, il est bon de voir les gens font des choses au moins près de cela - me donne l'espoir que l'ensemble de l'outil existe :) –

1

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

+0

J'ai joué avec cela, mais j'aimerais vraiment un outil graphique comme je l'ai décrit. Merci pour l'entrée :) –

Questions connexes