コードケーブが配置されているアドレスをVirtualAllocEx
(アドレスを返す)を使用して割り当て、を使用してそのアドレスにコードを書き込んだとしますWriteProcessMemory()
。
ここに質問があります:
コードケーブへのジャンプを作成するにはどうすればよいですか?ジャンプが「」で始まることは知ってE9
いますが、返されるアドレスVirtualAllocEx
を正しいUInt32(dword)に変換して、デバッガー/コンパイラーが命令を理解できるようにするにはどうすればよいですか?
例えば:
私は住所00402020
(ネイティブアプリのOEP)にいます。004028CF
(空の場所)" "へのジャンプを書きJMP 004028CF
ます。バイト単位の命令は次のようになります。
CPU Disasm
Address Hex dump Command Comments
00402020 E9 AA080000 JMP 004028CF
「E9
」は、JMPを示す方法です。「AA080000
」はどうですか、これを生成するにはどうすればよいですか?
JMPをコードケーブに初期化できるように、同様のことを行う必要があります。コードケーブは、によって返されるアドレスにありますVirtualAllocEx()
。
どんな助けでもありがたいです!
前もって感謝します。