火山编程教程培训交流论坛-乐易网络

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

购买模块,定制软件,报名培训联系QQ 【会员必读】:如何绑定QQ来登陆论坛 【会员必读】:如何绑定微信来登陆论坛
【强烈推荐】《火山视窗0基础入门系列课程》【新手必读】火山中的错误代码大全【新手必读】火山视窗静态编译方案
《0基础x64位游戏内存辅助开发教程 》《64位某信Hook技术实战基础教程》《【免费】火山视窗汇编快速入门课程》
《火山视窗浏览器网页填表系列课程》《64位某信Hook技术实战进阶教程》《【免费】火山视窗Exui界面库讲解》
《火山视窗POST基础入门课程》《64位某信数据库操作课程》《火山视窗JavaScript加解密课程》
《火山视窗64位Hook技术培训课程》  
查看: 627|回复: 12

[火山模块源码分享] 火山视窗类_IATHOOK源码分享

[复制链接]
已绑定手机

签到天数: 273 天

[LV.8]以坛为家I

等级头衔

等級:管理员

头衔:最专业的易语言火山中文编程讲师

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
火币
7356
贡献
6
主题
269
精华
2
威望
332
积分
810
注册时间
2024-10-3
最后登录
2025-7-10

勋章墙

微信认证用户论坛讲师最佳新人终身顶级VIP会员富翁会员

发表于 2025-5-17 13:41:39 | 显示全部楼层 |阅读模式

据统计90%查看本帖的人,都已经注册本站了哦

您需要 登录 才可以下载或查看,没有账号?立即注册

x
IAT (Import Address Table) HOOK 是一种在 Windows 程序中进行函数钩子的技术。它通过修改程序的导入地址表来实现对目标函数的替换或拦截。

在 Windows 运行时,程序需要调用其他模块(DLL)中的函数来完成特定的功能。为了实现这一点,程序会在导入地址表中存储这些函数的地址。IAT 是一个数据结构,存储了程序所依赖的外部模块的函数地址。

IAT HOOK 的基本原理是通过修改导入地址表中的函数地址,将原始函数地址替换为自定义的函数地址。这样,在程序调用原始函数时,实际上会执行被替换的自定义函数,从而实现对目标函数的拦截和修改。


1.png
2.png
3.png


下面是类的源码  回复可见

游客,如果您要查看本帖隐藏内容请回复



调用的源码 建立一个成员变量

  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 变量 MsgBox <类型 = 类_IATHOOK>
复制代码
  1. MsgBox.开始HOOK ("USER32.DLL", "MessageBoxW", 取静态方法地址 (_MyMsgBoxW))
复制代码
  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 方法 _MyMsgBoxW <静态 类型 = 整数 注释 = "信息框HOOK" 折叠>
  3. 参数 所有者窗口的句柄 <类型 = 变整数>
  4. 参数 显示的消息 <类型 = 变整数>
  5. 参数 对话框标题 <类型 = 变整数>
  6. 参数 按钮 <类型 = 整数>
  7. {
  8.     调试输出 (所有者窗口的句柄, 显示的消息, 指针到文本 (显示的消息), 对话框标题, 指针到文本 (对话框标题), 按钮)
  9.     // 进入我们回调之后 我们就可以为所欲为了

  10.     返回 (取程序 ().主窗口对象.MsgBox.调用原函数 (取程序 ().主窗口对象.MsgBox.取原函数地址 (), 整数, 所有者窗口的句柄, 取文本指针 ("我已经HOOK了原来的信息框"), 取文本指针 ("我是标题"), 0))


  11. }
复制代码




回复

使用道具 举报

已绑定手机

签到天数: 21 天

[LV.4]偶尔看看III

等级头衔

等級:H.1

Rank: 1

积分成就
火币
247
贡献
0
主题
0
精华
0
威望
0
积分
0
注册时间
2025-3-30
最后登录
2025-6-17

勋章墙

发表于 2025-5-17 13:42:56 | 显示全部楼层
66666666666666666
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 95 天

[LV.6]常住居民II

等级头衔

等級:H.2

Rank: 2

积分成就
火币
1226
贡献
0
主题
0
精华
0
威望
55
积分
83
注册时间
2024-10-7
最后登录
2025-5-31

勋章墙

发表于 2025-5-17 14:56:39 | 显示全部楼层
感谢大佬分享!
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 27 天

[LV.4]偶尔看看III

等级头衔

等級:H.1

Rank: 1

积分成就
火币
345
贡献
0
主题
0
精华
0
威望
0
积分
0
注册时间
2024-10-28
最后登录
2025-6-28

勋章墙

发表于 2025-5-18 09:05:57 | 显示全部楼层

感谢分享,很给力!~
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 2 天

[LV.1]初来乍到

等级头衔

等級:H.1

Rank: 1

积分成就
火币
56
贡献
0
主题
0
精华
0
威望
0
积分
0
注册时间
2024-10-31
最后登录
2025-5-18

勋章墙

发表于 2025-5-18 13:41:22 | 显示全部楼层
感谢分享
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 82 天

[LV.6]常住居民II

等级头衔

等級:H.1

Rank: 1

积分成就
火币
1146
贡献
0
主题
0
精华
0
威望
0
积分
2
注册时间
2025-1-26
最后登录
2025-7-10

勋章墙

发表于 2025-5-19 08:55:40 | 显示全部楼层
谢谢 分享,棒棒棒!!!
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 5 天

[LV.2]偶尔看看I

等级头衔

等級:H.1

Rank: 1

积分成就
火币
61
贡献
0
主题
0
精华
0
威望
0
积分
0
注册时间
2025-2-22
最后登录
2025-6-2

勋章墙

发表于 2025-5-19 09:22:51 | 显示全部楼层
谢谢分享,易语言的没学会看看火山的可以学会不
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 6 天

[LV.2]偶尔看看I

等级头衔

等級:H.1

Rank: 1

积分成就
火币
76
贡献
0
主题
0
精华
0
威望
0
积分
0
注册时间
2025-2-25
最后登录
2025-6-8

勋章墙

发表于 2025-5-23 15:29:55 | 显示全部楼层

开源精神必须支持~
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 1 天

[LV.1]初来乍到

等级头衔

等級:H.1

Rank: 1

积分成就
火币
7
贡献
0
主题
0
精华
0
威望
0
积分
0
注册时间
2025-5-30
最后登录
2025-5-30

勋章墙

发表于 2025-5-30 16:17:55 | 显示全部楼层
感谢楼主的分享
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 12 天

[LV.3]偶尔看看II

等级头衔

等級:超级会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
火币
193
贡献
0
主题
0
精华
0
威望
0
积分
0
注册时间
2025-2-2
最后登录
2025-7-9

勋章墙

发表于 2025-6-12 22:30:23 | 显示全部楼层
感谢分享!
我要说一句
回复

使用道具 举报

快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|火山编程教程培训交流论坛-乐易网络 ( 湘ICP备19007035号 )

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表本站立场!

GMT+8, 2025-7-10 16:52 , Processed in 0.061150 second(s), 119 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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