您的位置:首页 > 其它

流水账笔记:PE文件格式(导入表注入---手动)

2017-10-16 06:20 1256 查看
简单记录一下手动的导入表注入方法,先挖个坑,以后有空再写代码,工具依然用的 010 Editor,以简单的“Hello, PE”程序为例。

先准备一个 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 注入成功了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: