【逆向工程笔记】第13章PE文件——给定一个exe文件,如何找到第一个IID文件

给定一个exe文件,如何找到第一个IID文件?以(notepad.exe为例)

书本106:
在这里插入图片描述

IID

第1个IID:
RVA=7604,所以文件偏移6A04
在PE中导入文件notepad.exe:
在这里插入图片描述
用工具计算RVA的文件偏移地址:
在这里插入图片描述
在这里插入图片描述
打开Winhex,导航至6A04
在这里插入图片描述
第1个IID:(从6A04向右数20个字节,为下图黄色区域)
在这里插入图片描述
结构体数组的各个成员:
在这里插入图片描述
第2个IID:(紫色区域)
在这里插入图片描述
第3个IID:(紫红色区域)
在这里插入图片描述

IID的库名字

第1个IID的库名字: comdlg32.dll
name为第12-16位:00007AAC(小端存储,从右往左读)
在这里插入图片描述

在PE中计算:RVA=00007AAC,RAW=6EAC
在这里插入图片描述
在winhex里导航至6EAC,第1个IID的库名字 comdlg32.dll。
在这里插入图片描述
第2个IID的库名字:SHELL32.dll
RVA=7AFA,RAW=6EFA
在这里插入图片描述
在这里插入图片描述
WINHEX跳转至6EFA,找到库名字为SHELL32.dll
在这里插入图片描述

第3个IID的库名字:WINSPOOL.DRV
RVA=7B3A,RAW=6F3A
在这里插入图片描述
在这里插入图片描述

IID的函数名字列表

第1个IID的函数名字列表
RVA=7990,RAW=6D90
在这里插入图片描述
在这里插入图片描述
WINHEX导航至6D90:(数40个字节)
在这里插入图片描述
第2个IID的函数名字列表:
RVA=7840,RAW=6C40

第3个IID的函数名字列表
RVA=7980,RAW=6D80

IID的函数名字列表的函数名

第1个IID的函数名字列表的第一个函数名:PagesetupDlgw
RVA =7AVA RAW=6E7A
在这里插入图片描述

winhex导航至6E7A:
在这里插入图片描述
第1个IID的函数名字列表的第二个函数名:FindTextW
RVA =7A5E RAW=6E5E
在这里插入图片描述

第1个IID的函数名字列表的第三个函数名:PrintDlgExWc
RVA =7A9E RAW=6E9E
在这里插入图片描述

IAT

第1个IID的函数地址列表(76324906为文件的入口地址,不真实,要找内存的入口地址)
RVA =12C4 RAW=06C4
在这里插入图片描述

扫描二维码关注公众号,回复: 15671783 查看本文章

找到真正的入口地址,PE-数据目录表-IAT表-入口地址
在这里插入图片描述

在ob中找到表格的开始位置
01001000 76A145DD
01001004 76A145CD

找到010012c4,找到3个库 747E4B96.

猜你喜欢

转载自blog.csdn.net/wuwuhe99/article/details/130963182
今日推荐