递归火山软件开发平台

标题: 超级简单的HOOK库,让使用HOOK不在烦恼,基本无需嵌入代码.. [打印本页]

作者: 海王    时间: 2026-1-12 17:22
标题: 超级简单的HOOK库,让使用HOOK不在烦恼,基本无需嵌入代码..
本帖最后由 海王 于 2026-1-12 23:03 编辑

超级简单的HOOK库,让使用HOOK不在烦恼,基本无需嵌入代码即可实现简单HOOK,模块内包含各种常用功能,基本能满足日常需求。模块使用静态编译,没有啰嗦的dll烦恼,支持x86\x64 hook。
不接受无礼的挑剔,感觉不好请绕行,别乱喷。谢谢!! (, 下载次数: 89)

(, 下载次数: 84)

(, 下载次数: 84)

(, 下载次数: 88)

(, 下载次数: 86)

(, 下载次数: 84)


简单hook3.0更新,下载这个吧。
(, 下载次数: 70)






作者: xiaowei    时间: 2026-1-12 17:48
66666666666
作者: Xelloss0618    时间: 2026-1-12 17:52
官方库和其他第三方库已经封装过minhook了
作者: 海王    时间: 2026-1-12 17:55
Xelloss0618 发表于 2026-1-12 17:52
官方库和其他第三方库已经封装过minhook了

自然每个人封装的都不一样啊。那个好用用哪个被。
作者: 寒风    时间: 2026-1-12 19:09

66666666666
作者: boxxie    时间: 2026-1-12 19:32

多谢楼主分享哟,正好想学
作者: guangye1    时间: 2026-1-12 19:36
厉害,支持一下
作者: boxxie    时间: 2026-1-12 19:54

请问楼主
可能直接HOOK一个内存地址吗
不是DLL函数地址
作者: 海王    时间: 2026-1-12 20:05
boxxie 发表于 2026-1-12 19:54
请问楼主
可能直接HOOK一个内存地址吗
不是DLL函数地址

你说的这种就是内联钩子呗,使用方式与hook函数地址是一样的,只是在定义结构的那个位置有区别。
作者: boxxie    时间: 2026-1-12 20:12
海王 发表于 2026-1-12 20:05
你说的这种就是内联钩子呗,使用方式与hook函数地址是一样的,只是在定义结构的那个位置有区别。 ...

小菜不是很会改
能否,烦请楼主告诉一下具体改那里呢
多谢了
作者: 海王    时间: 2026-1-12 20:30
boxxie 发表于 2026-1-12 20:12
小菜不是很会改
能否,烦请楼主告诉一下具体改那里呢
多谢了


                    

                        

                           

                           
正在渲染火山代码...

                        

                    

                    复制代码
               


大概就是这个意思。具体还要看实际情况来定。说白了,内联就是JMP,跳来跳去罢了。
作者: Xeres    时间: 2026-1-12 20:49
666666
作者: 海王    时间: 2026-1-12 20:52
boxxie 发表于 2026-1-12 20:12
小菜不是很会改
能否,烦请楼主告诉一下具体改那里呢
多谢了

我更新了下示例跟模块,里面有例子,参考一下吧。
作者: boxxie    时间: 2026-1-12 23:07

好的
多谢楼主分享哟

作者: Xelloss0618    时间: 2026-1-12 23:45
其实可以改成完全无需嵌入代码的,因为你有些地方搞复杂了。
比如你用嵌入代码定义函数指针和变量,不如直接用个变整数或通用指针变量,然后用“调用静态方法、调用无参数静态方法、调用无返回值静态方法”,需要CDECL的再改一个方法就行。

另外火山一般只要类型尺寸一致就可以了,指针、句柄都可以直接用“变整数”,改为在嵌入代码里加上类型强转。定义太多类型容易跟其他模块冲突。
作者: 麒麟软件    时间: 2026-1-13 00:04
Xelloss0618 发表于 2026-1-12 23:45
其实可以改成完全无需嵌入代码的,因为你有些地方搞复杂了。
比如你用嵌入代码定义函数指针和变量,不如直 ...

大佬你说的很对啊,确实可以弄成不用嵌入代码!突然开窍了!哈哈,哪些类型是以后有用的!我还没弄完!感谢大佬点评!!谢谢
作者: 上等兵    时间: 2026-1-13 09:16
不错,谢谢分享
作者: 大有可为    时间: 2026-1-13 09:48
海王牛逼
作者: boxxie    时间: 2026-1-13 10:01
Xelloss0618 发表于 2026-1-12 23:45
其实可以改成完全无需嵌入代码的,因为你有些地方搞复杂了。
比如你用嵌入代码定义函数指针和变量,不如直 ...

:噜阿噜
还是X大大想更高大上
作者: boxxie    时间: 2026-1-13 10:59
海王 发表于 2026-1-12 20:30
【火山代码】

# @ typedef void (*ORIGINAL_CODE)();


太菜了,没看懂楼主的代码
HOOK的是个内存地址,楼主你代码里用的还是函数名.
头大了,没看懂
作者: Xelloss0618    时间: 2026-1-13 13:38
boxxie 发表于 2026-1-13 10:59
太菜了,没看懂楼主的代码
HOOK的是个内存地址,楼主你代码里用的还是函数名.
头大了,没看懂 ...

minhook是内联钩子,hook内存地址和dll没有区别。
例子用dll,那是因为dll有导出函数,系统API也能很方便地找到参数帮助。
你hook个其他程序的函数地址,要自己找到内存地址,还得分析它调用的参数是什么。

楼主给你写的例子,pTargetAddress就是你要hook的内存地址啊。
作者: itismine    时间: 2026-1-13 16:27
学习一下。。。

作者: wangvoldp    时间: 2026-1-13 18:33
现在不开源的模块都能进专辑推荐了
作者: boxxie    时间: 2026-1-13 18:45
Xelloss0618 发表于 2026-1-13 13:38
minhook是内联钩子,hook内存地址和dll没有区别。
例子用dll,那是因为dll有导出函数,系统API也能很方便 ...

:噜阿噜
又明白一点点了
多谢X大大讲解.麻烦了哟
作者: Xelloss0618    时间: 2026-1-13 21:50
wangvoldp 发表于 2026-1-13 18:33
现在不开源的模块都能进专辑推荐了

那个专辑不是版主做的
作者: 000    时间: 2026-1-14 00:25
Xelloss0618 发表于 2026-1-13 13:38
minhook是内联钩子,hook内存地址和dll没有区别。
例子用dll,那是因为dll有导出函数,系统API也能很方便 ...

学习了!
作者: 大有可为    时间: 2026-1-14 09:11
wangvoldp 发表于 2026-1-13 18:33
现在不开源的模块都能进专辑推荐了

个人专辑收藏备用  推荐个鸡毛
作者: jcos    时间: 2026-1-16 23:46

作者: boxxie    时间: 2026-1-19 20:33
本帖最后由 boxxie 于 2026-1-19 20:54 编辑


多谢楼主分享哟
请问能取HOOK指定地址跳转时原取寄存器值吗?可能没表达清楚
比如HOOK了一个地址132456,要取程序运行到这句代码时的寄存器里的值.

作者: boxxie    时间: 2026-1-19 21:44

楼主,能不能把 字符串指针 改个名
跟其他模块冲突了
作者: Xelloss0618    时间: 2026-1-19 22:55
boxxie 发表于 2026-1-19 21:44
楼主,能不能把 字符串指针 改个名
跟其他模块冲突了

跟PIV模块冲突了吧,其实可以直接用PIV的简易HOOK类,都一样的。
另外都没封装获取寄存器值,这个你可以看看仰望模块有没
作者: boxxie    时间: 2026-1-19 22:57
Xelloss0618 发表于 2026-1-19 22:55
跟PIV模块冲突了吧,其实可以直接用PIV的简易HOOK类,都一样的。
另外都没封装获取寄存器值,这个你可以 ...


X大大,好像是冲突了
想让楼主改一改,不知道会不会呢
作者: boxxie    时间: 2026-1-21 20:46

楼主,请问
pTargetAddress = 无类型指针.长整数转指针 (0x140001234)
0x00007FF78F3CD3A7或140701236777895 值改成这样子提示钩子创建失败
作者: boxxie    时间: 2026-1-23 14:10
Xelloss0618 发表于 2026-1-19 22:55
跟PIV模块冲突了吧,其实可以直接用PIV的简易HOOK类,都一样的。
另外都没封装获取寄存器值,这个你可以 ...


X 大大,没有找到 取寄存器值 相关的模块
想请你推荐一个哟,谢谢啦
作者: 1535675    时间: 2026-1-30 16:13
好东西拿走了




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4