0

C++DLLをスパイする必要があります。アセンブリコード内にトレース呼び出しを挿入したいと思います。たとえば、コードを変更して、変数をトレースする小さなコードをテキストファイルに配置します。dllが使用されているマシンのランタイムにアクセスできません。ストレージにしかアクセスできないため、IDAデバッグを使用して動的にスパイすることはできません。スパイコードを含むファイルをいくつか入れてから、マシンを起動して実行する必要があります。次に、マシンをシャットダウンして、最終的にストレージに作成されたトレースファイルを取得します。

たとえばIDAProまたは同様のツールを使用して、そのスパイコードの挿入を自動化する方法はありますか。私はHex-Rayを使用してDLLを逆コンパイルしました。はい、Cソースコードを変更してそこに関数を配置することはできますが、残念ながら、Hex-Rayはすべてのコードを逆にすることはできません(90%のように)。そのため、その方法を使用できません。

4

1 に答える 1

0

これを dll と見なすと、wrapgen IDA プラグインを使用して、オリジナルを呼び出し、必要な追跡コードと追跡コードを挿入するラッパー DLL を作成できます。

より高度なケースでは、関数のローカル変数を監視する必要がある場合、ラッパー dll を使用して元の dll に動的にパッチを適用できます。

于 2013-02-04T11:38:45.700 に答える