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

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

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

[火山模块源码分享] 火山视窗EAT_HOOK源码分享 支持32和64

[复制链接]
已绑定手机

签到天数: 289 天

[LV.8]以坛为家I

等级头衔

等級:管理员

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

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

积分成就
火币
7785
贡献
6
主题
280
精华
11
威望
332
积分
912
注册时间
2024-10-3
最后登录
2025-7-26

勋章墙

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

发表于 2025-5-18 17:28:51 | 显示全部楼层 |阅读模式

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

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

x




EAT(Export Address Table)用于修改动态链接库(DLL)中导出函数的调用。与IAT Hook不同,EAT Hook是在DLL自身中进行钩子操作,而不是修改应用程序的导入表。它的原理是通过修改DLL的导出函数地址,将原本要导出的函数指向另一个自定义的函数。这样,在应用程序调用DLL的导出函数时,实际上会执行自定义的函数。

EAT Hook的步骤通常包括以下几个步骤:

获取目标DLL的基址:通过模块加载和遍历PE文件的导出表,找到目标DLL的基址。
定位导出函数:根据导出函数的名称或序号,在导出表中找到目标函数的位置。
保存原始函数地址:将目标函数的地址保存下来,以便后续恢复。
修改导出函数地址:将目标函数在导出表中对应的地址修改为自定义函数的地址。
实现自定义函数:编写自定义的函数,该函数会在被钩子函数被调用时执行。
调用原始函数:在自定义函数中,可以选择是否调用原始的被钩子函数。
与IAT不同是EAT存放的不是函数地址,而是导出函数地址的偏移,使用时需要加上指定Dll的模块基地址,当Hook挂钩之后,所有试图通过导出表获取函数地址的行为都会受到影响,EATHook并不会直接生效,它只能影响Hook之后对该函数地址的获取。

实现导出表劫持的详细流程如下所示:

首先获取到DOS头,并加上偏移得到NT头,再通过Nt头得到数据目录表基地址。
数据目录表DataDirectory中的第0个成员指向导出表的首地址,直接拿到导出表的虚拟地址。
循环查找导出表的导出函数是否与我们的函数名称一致,一致则取出导出函数地址。
设置导出函数位置读写属性,将新的导出函数地址写入到该位置
084D5B883D45B3D92B148998A78F9E20.png
E38E471E80A7856011B0205C0DDD0241.png
源码回复可见
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

已绑定手机

签到天数: 8 天

[LV.3]偶尔看看II

等级头衔

等級:H.2

Rank: 2

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

勋章墙

发表于 2025-5-18 17:59:56 | 显示全部楼层
收到。感谢分享
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 22 天

[LV.4]偶尔看看III

等级头衔

等級:H.1

Rank: 1

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

勋章墙

发表于 2025-5-19 00:18:27 | 显示全部楼层

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

使用道具 举报

已绑定手机

签到天数: 87 天

[LV.6]常住居民II

等级头衔

等級:H.1

Rank: 1

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

勋章墙

发表于 2025-5-19 08:54:22 | 显示全部楼层
好复杂,谢谢分享,我收藏了
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 95 天

[LV.6]常住居民II

等级头衔

等級:H.1

Rank: 1

积分成就
火币
1201
贡献
0
主题
0
精华
0
威望
15
积分
24
注册时间
2024-10-7
最后登录
2025-7-25

勋章墙

发表于 2025-5-19 17:52:47 | 显示全部楼层
好工具         
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 29 天

[LV.4]偶尔看看III

等级头衔

等級:H.1

Rank: 1

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

勋章墙

发表于 2025-5-20 08:45:56 | 显示全部楼层

支持开源~!感谢分享
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 6 天

[LV.2]偶尔看看I

等级头衔

等級:H.1

Rank: 1

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

勋章墙

发表于 2025-5-23 15:24:34 | 显示全部楼层
[重磅]火山编程资源网 https://www.leybc.cn
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 29 天

[LV.4]偶尔看看III

等级头衔

等級:H.1

Rank: 1

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

勋章墙

发表于 2025-5-27 10:20:16 | 显示全部楼层
查看本帖隐藏内容
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 2 天

[LV.1]初来乍到

等级头衔

等級:H.1

Rank: 1

积分成就
火币
71
贡献
0
主题
0
精华
0
威望
0
积分
0
注册时间
2024-11-20
最后登录
2025-5-27

勋章墙

发表于 2025-5-27 19:53:31 | 显示全部楼层
学习一波
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 26 天

[LV.4]偶尔看看III

等级头衔

等級:超级会员

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

积分成就
火币
599
贡献
0
主题
0
精华
0
威望
0
积分
0
注册时间
2024-11-4
最后登录
2025-7-21

勋章墙

终身顶级VIP会员

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-26 15:42 , Processed in 0.077699 second(s), 119 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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