流水账笔记:PE文件格式(导入表注入---手动)
2017-10-16 06:20
1256 查看
简单记录一下手动的导入表注入方法,先挖个坑,以后有空再写代码,工具依然用的 010 Editor,以简单的“Hello, PE”程序为例。
先准备一个 DLL,名称为 mydll.dll,导出函数为 fun
由于字符串的位置为 0x768,经过转换公式(FOA To RVA),RVA = 0x2168
于是运行程序,DLL 注入成功了!
先准备一个 DLL,名称为 mydll.dll,导出函数为 fun
#1
修改数据目录下的导入表偏移和大小,我们将偏移修正为 0x2100,即根据转换公式(RVA To FOA),新的导入表在文件 0x700 位置#2
找到新导入表的位置,将旧的导入表数据移动到新的位置#3
添加导入表,第一个成员指向 INT,可以理解为指向需要导入函数的字符串的指针(INT 在 IAT 中已阐述)。那么我们需要自己填写一个 INT,我们将 INT 的地址设定为 0x760,结果转换公式(FOA To RVA),RVA = 0x2160。于是修改后的结果如下图:由于字符串的位置为 0x768,经过转换公式(FOA To RVA),RVA = 0x2168
#4
第二第三个成员可以忽视,第四个成员是指向 Dll 名称的字符串,我们将需要载入的 Dll 名称的字符串接在的字符串 fun 的后面,如图:#5
第 5 个成员表示该表的 IAT 的首地址,因为上一张表的IAT 地址以 0x200F结尾,所以该表 IAT 的首地址为 0x2010于是运行程序,DLL 注入成功了!
相关文章推荐
- 流水账笔记:PE文件格式(导出表)
- 流水账笔记:PE文件格式(OptionalHeader 上)
- 流水账笔记:PE文件格式(FileHeader)
- 流水账笔记:PE文件格式(SectionHeaders)
- 流水账笔记:PE文件格式(手工增加节)
- 流水账笔记:PE文件格式(RVA & FOA)
- 流水账笔记:PE文件格式(Dos Header)
- 流水账笔记:PE文件格式(OptionalHeader 下)
- 流水账笔记:PE文件格式(资源表)
- 《黑客免杀攻防》 第七章 PE文件格式详解 阅读笔记
- 软件安全学习笔记(7):PE文件总体格式
- PE格式文件的代码注入
- 手动添加PE文件数字签名信息及格式详解图之下(历史代码,贴出学习)
- PE文件格式笔记
- PE格式文件的代码注入
- PE文件导入表的代码注入
- PE文件格式学习笔记
- PE文件格式分析系列(文章1)----一个PE文件导入表数据的分析(MFC工程调试版)
- PE文件学习笔记(五):导入表、IAT、绑定导入表解析
- PE文件格式:导入表&IAT——手工重组