#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;
}
禁止弹MessageBoxA.Dll
最新推荐文章于 2024-03-07 09:49:56 发布
本文介绍了一种在Windows环境下通过DLL注入实现HOOK MessageBoxA函数的方法。具体步骤包括获取MessageBoxA函数地址、调整内存保护属性、重写函数指针以跳转到自定义HOOK函数等。这种方法可用于调试或修改应用程序行为。
1万+

被折叠的 条评论
为什么被折叠?



