6

主にリバースエンジニアリングのために、実行時にオブジェクトを検査するツールについて考えていましたが、そのようなものが存在するかどうか疑問に思っています。

私が考えていたのは、オブジェクトのグラフとクラス リストの 2 つのビューがあるということでした。クラス リストからクラスを選択し、そのインスタンスをリストまたはグラフで表示できます。グラフでは、適切に注釈が付けられたオブジェクト間の接続を確認できます。たとえば、ハッシュ テーブルのキーは、ハッシュ テーブル オブジェクトと値の間のエッジのラベルである可能性があります。

オブジェクト プロパティのリストを取得して、内部の値を表示/操作することもできます。.NET で提供されるメタデータを使用すると、これはかなり簡単になります。

これを行うことができるツールを知っている人はいますか?デバッグやリバース エンジニアリングに非常に便利なツールのようです。

編集: また、別の便利な機能は、バイナリを見ながら名前のマッピングを設定する機能です。つまり、難読化されたバイナリがある場合、難読化された名前をプレースホルダーまたは実名に交換できます。これは実際のバイナリには影響せず、インスペクターのビューだけに影響します。

編集パート 2: このツールは、Vista および XP で実行でき、x64 をサポートする必要があります。

4

4 に答える 4

9

特にマネージヒープを分析するためのCrack.NETと呼ばれるツールがあります。

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

http://www.codeplex.com/cracknetproject

于 2009-01-28T01:01:01.400 に答える
1

問題のアプリケーションからいつでもミニダンプを取得し、WinDBGとSOSで検査できます。

于 2009-01-28T00:59:26.707 に答える
1

実行中のプロセスがある場合は、マシンのどこかにバイナリがあります。

このバイナリを Reflector にロードできます。

または、Visual Studio がインストールされている場合は、実行中のプロセスに Visual Studio Debugger をアタッチできます。

于 2009-01-28T00:36:51.060 に答える
1

.NET アプリの UI 要素を表示できるHawkeyeというプログラムがあります。

.NET Component Inspectorというプログラムも見つけました。これがどれほど優れているかはわかりません (現在試しています)。

于 2009-01-28T00:37:36.627 に答える