|
最近没事一直在学习HOOK 在网上看到Min库都说不错 所以今天特意了解学习了一下 但是发现将DLL 注入到一个程序里 HOOK根本没效果 下面是主要执行代码 请老师或哪位大佬看下解决下谢谢
#include "stdafx.h"
#if defined _M_X64
#pragma comment(lib, "E:\\MniHook\\lib\\libMinHook-x64-v110-mt.lib")
#elif defined _M_IX86
#pragma comment(lib, "E:\\MniHook\\待编译\\build\\VC10\\lib\\Release\\libMinHook.x86.lib")
#endif
typedef int (WINAPI *MESSAGEBOXW)(HWND, LPCWSTR, LPCWSTR, UINT);
MESSAGEBOXW afMessageBox=MessageBoxW;
int WINAPI DestMessageBoxW(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType){
return afMessageBox(hWnd,L"Hook成功!",lpCaption,uType);
}
int OnHook(){
MessageBox(NULL,L"初始开始",L"提示",MB_OK);
//初始化Hook
if(MH_Initialize()!=MH_OK){
MessageBox(NULL,L"初始化失败",L"提示",MB_OK);
return -1;
}
MessageBox(NULL,L"初始成功",L"提示",MB_OK);
if (MH_CreateHookApiEx(L"user32", "MessageBoxW", &DestMessageBoxW,(LPVOID*)&afMessageBox,NULL) != MH_OK)
{
return 1;
}
MessageBox(NULL,L"设置成功",L"提示",MB_OK);
if(MH_EnableHook(&MessageBoxW)!=MH_OK){
MessageBox(NULL,L"执行失败",L"提示",MB_OK);
return -1;
}
return 1;
}
另外 关于构建工程时 选择WIN32动态库 然后勾选MFC想使用MFC的类时 将DLL注入到程序里发现不执行 入口函数 _tmain()什么原因 |
上一篇: 关于创建进程例子的一些问题请求大神下一篇: 关于函数指针理解方面的几个问题
|