では、 C ++ Dllインジェクションのステップ3について質問があります。つまり、次のとおりです。
CreateRemoteThread()を使用します。これを
LoadLibrary()
エントリポイントとして指定し、手順1と2のファイルパスを引数として指定できます。正直なところ、これは少しハッキーですが、DLLを挿入している場合は、すでにかなりハッキーになっています。もう1つの手法は、手順1と2を使用して、マシンコードをリモートプロセスにロードし、それをポイントすることです。
だから私の質問は:を使用してメモリを割り当てVirtualAllocEx
、を使用してコードを記述したWriteProcessMemory
後、どのように呼び出しを行うのCreateRemoteThread
ですか?つまり、4番目と5番目のパラメータは何ですか?
私のコード:
AllocatedMem = VirtualAllocEx(Proc, IntPtr.Zero, code.Length,
AllocationType.Reserve | AllocationType.Commit, MemoryProtection.ReadWrite);
WriteProcessMemory(Proc, AllocatedMem, code, code.Length, IntPtr.Zero);
CreateRemoteThread(Proc, IntPtr.Zero, 0, AllocatedMem,
IntPtr.Zero, 0, IntPtr.Zero);