一、前言
二、PE整体结构
三、DOS头
四、NT头
五、区段头
六、导出表
七、导入表
八、资源表
九、其他表
1.概念
导入 是PE文件(EXE)在运行时,使用到了其他PE文件(DLL)中的函数、变量、类等这样的行为。
导入表 存储的是从其他PE文件(DLL)导入过来的函数名、序号。在加载到内存后,还存储这些函数的地址。
导入表结构 导入表是一个结构体数组,最后以一个结构体大小的全零元素结尾。每一个数组元素代表一个PE文件的导入信息。
PE文件(EXE)通常需要多个PE文件(DLL)的支持,所以导入表一般有多个。
2.导入表定位
前面提到的 NT头->扩展头->数据目录表->第二个元素->相对虚拟地址(RVA)
还用010Editor打开百度云盘看一下
从扩展头里的数据,我们就可以得到导入表的定位信息RVA
再啰嗦一下RVA定位数据的使用
如果是在文件里用,需要用FOA
导入表FOA = 导入表RVA - 区段RVA + 区段FOA
如果是加载到