好的,所以我对C++ Dll Injection的第 3 步有疑问,即:
使用 CreateRemoteThread()。您可以将其
LoadLibrary()
作为入口点,将步骤 1 和 2 中的文件路径作为参数。老实说,这有点 hacky,但是如果您要注入 DLL,那么您已经很 hacky。另一种技术是使用步骤 1 和 2 将一些机器代码加载到远程进程中并指向它。
所以我的问题是:在我使用 分配内存VirtualAllocEx
并使用 编写代码之后WriteProcessMemory
,我该如何调用CreateRemoteThread
——我的意思是第四个和第五个参数是什么?
我的代码:
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);