0

移植可能な実行可能ファイルの分析に役立つように設計されたツールは多数あります。たとえば、PE エクスプローラー。ファイルをロード.exeして、セクションの数、セクションの配置、特定のセクションの仮想アドレスなどを確認できます。

同じことを可能にする同様のツールはありますが、すでにメモリにロードされているポータブル実行可能ファイルはありますか? .exeそのファイルへのアクセスなしですか?

編集:

たぶん、私が達成しようとしていることを明確にしようとします。(@0x90 が提案したように) 2 つのアプリケーション、または 3 つのアプリケーションがあるとします。

app1.exe - ユーザーによって実行され、app3.exe に基づいて新しいプロセスを作成し、app2.exe を配置してそのメモリを変更します。

app2.exe - app1.exe によって app3.exe メモリに挿入されます。

app3.exe - 新しいプロセスの作成に使用されます。

私は 3 つのアプリケーションすべてのソースを持っています。私は単に、注入/プロセスの中空化を使用した実践的な演習によって、Windows の内部構造について学ぼうとしています。app1.exe に次のようなバグがあります。

The application was unable to start correctly (0xc0000018).

そして、この状況をデバッグする方法を見つけようとしています。私の考えは、ディスク上の PE とメモリ内の PE を比較し、それが正しいかどうかを確認することでした。そのような提案用に設計されたツールが見つからないことに驚きました。

4

1 に答える 1

1

わかりやすくするために、調べたいアプリケーションを App1 と呼び、PE ファイルの内容をメモリにロードするアプリケーションを App2 と呼びます。

私の知る限り、すべての主要な逆アセンブラーはファイルを操作します。これは、App1 が App2 のアドレス空間にマップされるためです。

最も簡単な解決策は、実行可能ファイルをメモリからディスクにダンプすることです。

App2 のソースを管理している場合、この手順は簡単です。

そうでない場合は、デバッガーを攻撃し、PE ファイルが存在する正確なメモリ範囲を特定し、デバッガーの機能を使用してそのメモリ範囲をディスクにダンプする必要があります。

于 2015-07-21T13:21:36.693 に答える