龙马谷

 找回密码
 立即注册

QQ登录

只需一步,快速开始

龙马谷VIP会员办理客服QQ:82926983(如果临时会话没有收到回复,请先加QQ好友再发。)
1 [已完结] GG修改器新手入门与实战教程 31课 2 [已完结] GG修改器美化修改教程 6课 3 [已完结] GG修改器Lua脚本新手入门教程 12课
4 [已完结] 触动精灵脚本新手入门必学教程 22课 5 [已完结] 手游自动化脚本入门实战教程 9课 6 [已完结] C++射击游戏方框骨骼透视与自瞄教程 27课
7 [已完结] C++零基础UE4逆向开发FPS透视自瞄教程 29课 8 [已完结] C++零基础大漠模拟器手游自动化辅助教程 22课 9 [已完结] C++零基础开发DXF内存脚本辅助教程 32课
以下是天马阁VIP教程,本站与天马阁合作,赞助VIP可以获得天马阁对应VIP会员,名额有限! 点击进入天马阁论坛
1 [已完结] x64CE与x64dbg入门基础教程 7课 2 [已完结] x64汇编语言基础教程 16课 3 [已完结] x64辅助入门基础教程 9课
4 [已完结] C++x64内存辅助实战技术教程 149课 5 [已完结] C++x64内存检测与过检测技术教程 10课 6 [已完结] C+x64二叉树分析遍历与LUA自动登陆教程 19课
7 [已完结] C++BT功能原理与x64实战教程 29课 8 [已完结] C+FPS框透视与自瞄x64实现原理及防护思路
查看: 5232|回复: 3

X86和X64下的IAT注入技术(附工具和源代码)

[复制链接]

5

主题

1

回帖

8

积分

编程入门

Rank: 1

龙马币
20
昨晚也不是我 | 显示全部楼层 |阅读模式

IAT又叫导入表,是WINDOWS PE文件中的一组数据结构,当EXE可执行程序被加载到地址空间后,
每个导入的DLL模块都有一个对应的导入表,PE加载器会根据导入表来加载进程需要的其他DLL模块。

据此本人根据导入表加载DLL特性,自行编写了一款IAT注入工具。

测试支持平台:WINXP WIN7(32位) WIN7(64位) WIN10 大家可以自行测试WIN8效果

引言:IAT注入程序开发过程有一定难度,需要编程开发者熟悉WINDOWS PE文件结构,可参考《Windows PE权威指南》(非广告目的),并对PE文件导入表结构成员十分熟悉,了解IAT结构组成,清楚OriginalFirstThunk和FirstThunk结构异同,还有关键的RVA和RAW地址转换关系。

程序流程:
1.注入程序将目标PE文件通过内存映射方式映射到内存中
2.判断PE文件特征,并创建新的节区头,填写相关信息
3.申请内存空间,拷贝原始导入表,并在其后构建新的IMAGE_IMPORT_DESCRIPTOR信息
4.修正内存中的映射的PE文件中的关键信息(如节区数,镜像大小,导入表RVA和SIZE等)
5.结束映射,在PE文件末尾写入新的节区(增加一个FileAlignment大小,名为PeerLess区段)
6.被注入DLL文件名必须为(back.dll)需要导出一个名为Inject函数,函数功能自拟。

续言:
程序源代码中对要注入的PE文件有较为充分的检查
1.PE文件基本特征判断
2.PE文件中NT头空间是否足够添加一个节区头
3.新加的节区大小是否大于新构建的导入表所需空间
最后如果提示注入失败,可自己打开dbgview观察错误信息。

备注:
本IAT注入程序经过测试,基本支持绝大多数无壳程序,因为加壳程序会改变PE文件特征,导致程序对关键信息判断不通过,即注入失败,但不会影响原始程序。(本人在XP上发现,如有提示注入成功,立即运行程序出现无效win32程序,可刷新一下稍等几秒在运行程序,即可正常。)
特此声明:由于此程序会对目标PE文件进行修改,建议在备份目标程序的情况下测试bin程序。

请勿使用本程序进行任何恶意目的,如有造成任何经济财产损失与本人无关。

本人所采用的编译环境是vs2013,运行程序可能会提示缺少msvcr120.dll,mfc120u.dll,请大家自行根据操作系统位数下载对应DLL。
最后附上bin程序和完整源代码,供广大技术爱好者相互交流学习(back.dll是测试用例,被加载后运行记事本程序)

回复帖子下载完整源码
游客,如果您要查看本帖隐藏内容请回复

0

主题

5

回帖

5

积分

编程入门

Rank: 1

龙马币
0
好好学习天天向上hook

0

主题

1

回帖

2

积分

编程入门

Rank: 1

龙马币
8
pcgg0000 | 显示全部楼层
呵呵飒飒大

0

主题

23

回帖

35

积分

编程入门

Rank: 1

龙马币
123
代码爱好者 | 显示全部楼层
666666666666666666666
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

龙马谷| C/C++辅助教程| 安卓逆向安全| 论坛导航| 免责申明|Archiver|
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表龙马谷立场!
任何人不得以任何方式翻录、盗版或出售本站视频,一经发现我们将追究其相关责任!
我们一直在努力成为最好的编程论坛!
Copyright© 2018-2021 All Right Reserved.
在线客服
快速回复 返回顶部 返回列表