美好的一天,我試圖以某種方式阻止「dll注入」進入我的程序。 這是我到目前爲止,但它崩潰我的.exe出於某種原因。 我正在加載此代碼,並將.dll附加到我的程序。C++ VirtualProtect PAGE_NOACCESS導致崩潰
聲明:
LPBYTE _LdrLoadDll = (LPBYTE)GetProcAddress(GetModuleHandle("ntdll.dll"), "LdrLoadDll");
功能:
void HookNoAccess(LPVOID Offset, int size)
{
HMODULE hand = GetModuleHandle("MYPROGRAM.exe");
DWORD OldProtect;
VirtualProtect(Offset, size, PAGE_NOACCESS, &OldProtect);
VirtualProtect((LPVOID)((DWORD)hand + (DWORD)0x12d1), 6, PAGE_NOACCESS, &OldProtect);
}
稱之爲:
HookNoAccess(_LdrLoadDll, 2); // tried any size...
應該停止訪問,目前procccess,但爲什麼它崩潰...
有人可以幫我嗎?
有權注入代碼的攻擊者也有權修復頁面訪問標誌。 –