Я хочу установить свою собственную ImageBase на 0x2000000, а затем прочитать другую программу EXE в ее ImageBase, конечно, обычно 0x400000, но когда я использую VirtualAlloc для запроса пространства, это всегда не удается, GetLastError равен 0x1e7 (487),Конечно, я также пытался загрузить только программу ntdll.dll, тот же сбой, как ее решить?
Часть кода ниже:
DWORD dwImageBase = pNtHeader->OptionalHeader.ImageBase;
LPVOID lpImageBuff = ::VirtualAlloc((PVOID)(dwImageBase), pNtHeader->OptionalHeader.SizeOfImage, MEM_RESERVE, PAGE_READWRITE);
if (NULL == lpImageBuff)
{
::MessageBox(NULL,_T("Application for ImageBase failed!!!"),_T("ERROR"),MB_ICONSTOP | MB_OK);
return;
}