VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 995|回复: 1

关于使用MinHook库HOOk函数的问题

[复制链接]
94_avatar_middle
最佳答案
0 
online_vip 发表于 2018-4-5 22:13:14 | 显示全部楼层 |阅读模式
最近没事一直在学习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()什么原因




上一篇:关于创建进程例子的一些问题请求大神
下一篇:关于函数指针理解方面的几个问题
01_avatar_middle
最佳答案
35 
online_admins 发表于 2018-4-6 17:09:36 | 显示全部楼层
建议楼主还是直接选择 Win32 类型的DLL 或者是 MFC 规则DLL 吧!
建立 Win32类型的DLL,之后勾选MFC生成的代码我看着怎么那么怪呢!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-5-27 01:35

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表