質問

Windows で、DLL インジェクションを使用して別のプロセスにアクセスしたとします。また、注入したプロセスのメモリのスクリーン キャプチャもいくつか実行し、取り出したいデータの場所がわかっています。他のプロセスの 0xaaaaaaaa に特定の値を含むデータがあるとします。注入するアプリで使用できるように、そのプロセスからこの値を取得するにはどうすればよいですか?プロセスに注入されるので、memcpy などを使用できますか?

memcpy(value, 0xaaaaaaaa, 10);

おそらくこれよりも複雑な関係があると思いますか?

編集:以下の回答に対して、WM_COPYDATA は既存のアプリケーションからデータを取得するためではなく、別のアプリケーションにデータを送信するためのものであるため、どのように役立つのかわかりません。

他のヒント

でのWindowsは、すべてのプロセスは、独自のメモリに対応しています。ことは、次の2つのポインタを持つmemcpyのような何かをすることはできませんという2つの異なるプロセスのメモリをポイントします。

あなたは、プロセス間通信のいずれかのオプションを検討することができます:メモリ、ファイル、ソケット、名前付きパイプ、イベントウィンドウメッセージをマッピングされた

ここで IPC

の詳細については、

WM_COPYDATAを試してみて、それに関連するMSDNから助けを借りるます。

以下のIPCメカニズムは、Windowsでサポートされています:

クリップボード
   COM
   データのコピー
   DDE
   ファイルマッピング
   メールスロット
   パイプ
   RPC
   Windowsソケット

詳細はこちら間通信する

あなたのケースで私は< WM_COPYDATAメッセージを使用します/ A>

scroll top