|
5精币
#include <Windows.h>
#include "MinHook.h"
#if defined _M_X64
#pragma comment(lib, "libMinHook.x64.lib")
#elif defined _M_IX86
#pragma comment(lib, "libMinHook.x86.lib")
#endif
typedef int (WINAPI *MESSAGEBOXW)(HWND, LPCWSTR, LPCWSTR, UINT);
// 调用原始MessageBoxW的指针.
MESSAGEBOXW fpMessageBoxW = NULL;
// 绕过MessageBoxW的绕道函数。
int WINAPI DetourMessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType)
{
return fpMessageBoxW(hWnd, L"Hooked!", lpCaption, uType);
}
int main()
{
// Initialize MinHook.
if (MH_Initialize() != MH_OK)//初始化Hook
{
return 1;
}
if (MH_CreateHook(&MessageBoxW, &DetourMessageBoxW,
reinterpret_cast<LPVOID*>(&fpMessageBoxW)) != MH_OK)
{
return 1;
}
// 开始HOOK.
if (MH_EnableHook(&MessageBoxW) != MH_OK)
{
return 1;
}
这是代码 我将这个DLL注入到可执行文件里 HOOK MessageBoxW没有任何效果
|
|