実行中のプロセスで.NETオブジェクトを検査できるようにするツールはありますか?
-
20-08-2019 - |
質問
私は主にリバースエンジニアリングのために、実行時にオブジェクトを検査するためのツールを考えていたと、そのようなものが存在する場合、私は思ったんだけど。
私はそれについて考えていた方法は、2つのビュー、オブジェクトのグラフおよびクラスリストを持っていたことでした。クラスのリストから、クラスを選択することができますし、リストまたはグラフのいずれかで、そのインスタンスを参照してください。グラフでは、オブジェクト間の接続は、例えば、適切に注釈を付け見ることができますハッシュテーブルのキーは、ハッシュテーブルオブジェクトと値の間のエッジ上のラベルであってもよい。
また、内部の値を操作/オブジェクトのプロパティのリストをプルアップして見ることができました。 .NETで提供されるメタデータは、これはかなり些細になるだろう。
誰もがこれを行うことができるツールを知っていますか?これは、デバッグのために非常に便利なツールのように思えるし、リバースエンジニアリングします。
編集:また、別の便利な機能がバイナリを見ながら名前のマッピングを設定する機能になります。それはあなたが難読化されたバイナリを持っている場合、あなたは、プレースホルダまたは実名のために難読化された名前を交換することができるだろう、です。これは実際のバイナリ、インスペクタでちょうどビューに影響を与えない。
編集パート2:ツールは、VistaとXP上で実行することが可能とx64をサポートしている必要があります。
。解決
Crack.NETと呼ばれるツールは、特にマネージヒープを分析するために、あります。
他のヒント
あなたは、実行中のプロセスを持っている場合は、あなたがあなたのマシン上のバイナリどこかを持っています。
あなたはリフレクターで、このバイナリをロードすることができます。
それとも、Visual Studioのインストールされている場合は、実行中のプロセスにVisual Studioのデバッガをアタッチすることができます。
は、UI要素を見てみましょうことができますのホークアイと呼ばれるプログラムがあります.NETアプリでます。
また、私はどのようにわからないの .NETコンポーネントインスペクタと呼ばれるプログラムを発見しました良い、それは(今それをしようとして)されます。
あなたは常に問題のアプリケーションからのミニダンプを取得し、WinDBGのとSOSでそれを検査できます。