1

windbg を使用してメモリ プロセス内にバイナリを挿入できるかどうかを知りたいですか? プロセスにwindbgをフックして、元のバイナリの命令を置き換えるか、プロセスによって実行される他のバイナリ命令を追加する可能性がありますか? (dll の注入と同様に?) これをスクリプト化することは可能でしょうか?

基本的に、windbg を使用してプロセスに対してどれだけのことができるか、およびプロセスをどれだけ変更できるかを知りたいと思います。(技術的には、windbg を使用して、バイナリ全体とその dll を既存のプロセスにマップできますか?)

4

3 に答える 3

1

プロセスにフックする windbg を使用すると、命令、スタック、ヒープ メモリなど、そのプロセスが所有するほぼすべてのメモリを変更できます。

于 2012-06-19T06:12:47.493 に答える
0

私はそれを試していませんが、理論的には可能です(少なくともあなたが求めているものの一部)。

現在の命令を保存し、呼び出しで書き換えてLoadLibrary、DLL 名をスタックに保存できます。DLL がロードされた後、書き換えられた命令を復元して実行する必要があります (または、これらの命令が行うことを手動で行うことにより、windbg でそれらをエミュレートできます)。

また、windbg に拡張機能を記述して、複雑なことを行うこともできます。

于 2012-06-19T06:58:50.667 に答える
0

おそらく、これには WinDbg も必要ありません。次の行に沿って何かを行うことができます。

  • OpenProcessターゲット プロセスへのハンドルを取得するために呼び出す
  • を使用して、ターゲットプロセスにメモリを割り当てますVirtualAlloc
  • コードをメモリに書き込むWriteProcessMemory
  • CreateRemoteThreadコードを実行するための呼び出し
于 2012-06-21T21:23:04.040 に答える