为什么CreateRemoteThread在这里工作?

时间:2013-09-22 08:29:03

标签: c windows visual-c++ createremotethread

我正在尝试将一个线程注入另一个进程,该进程允许进程加载一个外部dll。

这是我在互联网上找到的代码,它有效。

    HANDLE hThread  = CreateRemoteThread (hProcess, NULL, 0,
            (LPTHREAD_START_ROUTINE) GetProcAddress(
                GetModuleHandle(L"kernel32"), "LoadLibraryA"), 
                  lpMemory, 0, NULL);
    if (hThread == INVALID_HANDLE_VALUE)
    {
            return false;
    }

但根据我的理解,GetProcAddress返回的地址存在于当前进程的内存空间中,而不是目标进程的内存空间中。

那为什么会起作用?

在Windows 7上测试

0 个答案:

没有答案