禁止彈MessageBoxA.Dll

#include <windows.h>
BOOL logic;
BOOL VP;
DWORD oldpro;
void* MsgBoxA;
int WINAPI HookMsgBoxA(
    _In_opt_ HWND hWnd,
    _In_opt_ LPCSTR lpText,
    _In_opt_ LPCSTR lpCaption,
    _In_ UINT uType) {
    return IDOK;
}
void core() {
    MsgBoxA = GetProcAddress(GetModuleHandle(L"User32.dll"), "MessageBoxA");
    VP = VirtualProtect(MsgBoxA, 5, PAGE_EXECUTE_READWRITE, &oldpro);
    *(BYTE*)MsgBoxA = 0xe9;
    *(DWORD*)((BYTE*)MsgBoxA + 1) = (DWORD)HookMsgBoxA - (DWORD)MsgBoxA - 5;
}
BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, PVOID pvReserved)
{
    if (dwReason == DLL_PROCESS_ATTACH)
    {
        core();
        return TRUE;
    }
    return TRUE;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章