Почему 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 ответов

Другие вопросы по тегам