2016-06-25 9 views
0

EXEファイルのすべてのローカル関数呼び出しをキャプチャ/記録できますか?APIモニタツールはWindows API関数呼び出しをキャプチャします。たとえば、ローカル関数呼び出しをキャプチャしたいときユーザーが特定のボタンをクリックします。それはCPUの制御はプロセスから出て、OSに通過するときに言うのは簡単ですので、EXE内部関数呼び出しのキャプチャ

よろしく、

+0

探しているツールを「デバッガ」と呼びます。 –

+0

これはデバッガと呼ばれています。 APIモニタツールと同じことをやりたい関数をキャプチャするユーティリティは、特定のイベントを呼び出します。 – JemoGlemo

+0

@JemoGlemoので、基本的に...デバッガです。 –

答えて

1

APIモニターが動作します。あなたが求めているのは、CPU命令ポインタがいつ同じプロセスメモリ空間内のある場所に移動するかを監視することです。これを行うツールはデバッガと呼ばれます。 Windows上のデバッガの例には、Visual Studio、WinDbg、またはNTSDがあります。難易度の昇順に

、次のことができます。

1)あなたは、ソースコードにしたいテレメトリを追加し、実行可能ファイルを再コンパイルします。

2あなたはシンボル(通常、PDBファイル)を構築している場合)、デバッガを接続して、興味のある機能上のブレークポイント/トレースポイントを設定する。

3)あなたは何のソースを持っていない場合は、タスクがあります効果的に#2と同じですが、はるかに困難です。まだデバッガを接続していますが、プログラムをトレースして、必要な機能に対応するメモリアドレスを見つけ出し、ブレークポイントを設定します。

+0

はい、私はソースコードを持っていません。ブレークポイントを設定する必要はありません。実行するローカル関数呼び出しをEXEファイル内に記録し、ログファイルに保存することです。ユーティリティは、実行中にEXEに接続されなければならない。私は私が望むことをするカスタムユーティリティを開発しなければならないと思う。 – JemoGlemo

関連する問題