VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 761|回复: 1

[求助] 关于使用MinHook库HOOk函数的问题

[复制链接]
94_avatar_middle
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
online_admins 发表于 2018-4-6 17:09:36 | 显示全部楼层
建议楼主还是直接选择 Win32 类型的DLL 或者是 MFC 规则DLL 吧!
建立 Win32类型的DLL,之后勾选MFC生成的代码我看着怎么那么怪呢!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

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

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

GMT+8, 2019-9-18 22:31

Powered by Discuz! X3.4

© 2009-2019 cctry.com

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