吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6056|回复: 16
收起左侧

[C&C++ 转载] Windows API Inlinehook库基本使用-MinHOOK

  [复制链接]
bester 发表于 2021-5-24 16:57
本帖最后由 bester 于 2021-5-24 17:03 编辑
下载MHOOK库

下载地址:

https://github.com/TsudaKageyu/minhook/releases //源码
https://github.com/liunan1111/use-example-of-minhook //例子

添加到VC工程

需要的文件:<br>
1.libMinHook.x86.lib

2.MinHook.x86.lib

必要的项目设置

1.常规--字符集--使用Unicode字符集<br>
2.调试--命令   设置加载该动态链接库的宿主进程,需注意的是宿主进程需主动调用该动态链接库,如需远程注入调用,则无法使用VS进行调试动态链接库代码

实际应用

MH_Initialize 初始化

MH_CreateHook 创建HOOK

MH_EnableHook 开启HOOK

MH_DisableHook 关闭HOOK

MH_RemoveHook 卸载HOOK

MH_Uninitialize 卸载初始化   

//该翻译仅为我个人理解


1.打开minhook-master\build\VC16中的MinHookVC16.sln文件,由于我的是vs2017 所以我直接选的是vc16,根据对于的vs版本选择对应的文件夹

2.点击生成--生成解决方案,得到libMinHook.x86.lib和MinHook.x86.lib并复制到我们的dll项目文件夹当中并引入

3.在我们的dll项目中的dllmain.cpp的最上边,include代码的下边,添加

#pragma comment(lib, "MinHook.x86.lib")

#pragma comment(lib, "libMinHook.x86.lib")

4.将minhook-master中的include文件夹复制到我们的dll项目文件夹当中并引入

#include"./include/MinHook.h"

5.由于我是调试环境,所以我用MFC写了一个demo动态加载DLLHOOK动态链接库,所以我写了一个没用hello导出函数,像远程注入到其他进程的话,不需要写这个导入函数

6.MinHOOK 相对于mhook使用是复杂些的,MH_CreateHook(&MessageBoxA, &DetourMessageBoxW, reinterpret_cast<LPVOID*>(&P_MyMessage)) != MH_OK  中注意,第一个是API函数,第二个是中转函数,第三个是函数指针

7.图中DetourMessageBoxW应该是DetourMessageBoxA,因为参数是窄字节的,我忘记把W改成A了  hhh。


1.png

2.png

免费评分

参与人数 5吾爱币 +3 热心值 +5 收起 理由
lyl610abc + 1 支持大佬,可以参考这个库的源代码,自己造个轮子
52jcool + 1 + 1 我很赞同!
冰雪冬樱250 + 1 + 1 谢谢@Thanks!
sam喵喵 + 1 期待后续作品
gunxsword + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sam喵喵 发表于 2021-5-24 19:29
bester 发表于 2021-5-24 19:25
Mhook和MinHook是两个不同的库

哈哈,我是说怎么看着眼熟。
大佬有时间的话,要不补充下这两个库的异同,优缺点吧,方便像我这样的菜鸟学习!十分感谢!
 楼主| bester 发表于 2021-5-24 19:30
sam喵喵 发表于 2021-5-24 19:29
哈哈,我是说怎么看着眼熟。
大佬有时间的话,要不补充下这两个库的异同,优缺点吧,方便像我这样的菜鸟 ...

后续会出,现在只是作铺垫
王雪峰 发表于 2021-5-24 19:00
sam喵喵 发表于 2021-5-24 19:16
这个之前是不是发过一次,有哪些更正吗
 楼主| bester 发表于 2021-5-24 19:25
sam喵喵 发表于 2021-5-24 19:16
这个之前是不是发过一次,有哪些更正吗

Mhook和MinHook是两个不同的库
sam喵喵 发表于 2021-5-24 19:33
bester 发表于 2021-5-24 19:30
后续会出,现在只是作铺垫

Detour这个是不是收费的,MinHOOK里面用到的可以免费用吗
冥界3大法王 发表于 2021-5-24 19:40
这个能用在Delphi/c++ builder上吗?
 楼主| bester 发表于 2021-5-24 19:59
sam喵喵 发表于 2021-5-24 19:33
Detour这个是不是收费的,MinHOOK里面用到的可以免费用吗

minhook和mhook都是免费的
 楼主| bester 发表于 2021-5-24 20:00
冥界3大法王 发表于 2021-5-24 19:40
这个能用在Delphi/c++ builder上吗?

如果支持C++语法的话,我想mhook是能用的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 12:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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