まず、dll を注入したくありません。WriteProcessMemory() を使用してコードを挿入したい (これが可能であれば)。私はすでに ReadProcessMemory() を使用しているので、書くことは大したことではないと思います。
たとえば、TargetProgram.exe+D78C612 に関数があり、次
のように呼び出すことができるとします。
push eax
push [esp+08]
push edx
push 00
push TargetProgram.exe+AF76235
push 04
call TargetProgram.exe+D78C612
これを WriteProcessMemory() でどのように正確に達成できますか?
つまり、重要なものを上書きせずにコードを挿入できるセクションはどこにあるのでしょうか。そして最も重要なのは、関数をどのように呼び出すかということです。
アクティブなルーチンにコードへのジャンプを配置し、ジャンプして後で削除するだけですか? しかし、どのようにルーチンを見つけるのでしょうか?
質問が多すぎて、どうやって始めればよいかわかりません... 助けていただければ幸いです。:)
そして、時間があれば、関数呼び出しインジェクションのサンプルコードを見たいです。