PE文件头常用字段总结

来源:互联网 发布:qqiphone6s在线软件 编辑:程序博客网 时间:2024/06/07 22:53

文件头 3Ch偏移处:PE文件头的地址

PE文件头28h偏移处:入口点的RVA
2Ch:代码段RVA

30h处:data段RVA
34h处:默认装入地址

38h,3Ch:内存中alignment(一般为1000h,一页),文件中alignment(一般为200h)
50h:image尺寸
78h:数据目录表开始
目录表结构: 8bytes,DWORD 保存起始RVA,DWORD保存 数据表长度
80h:输入表的目录表
输入表的IID结构: 5个DWORD,第一个OriginFirstThunk,最后一个FirstThunk,分别指向INT和IAT,都是IMAGE_HTUNK_DATA数组
IMAGE_THUNK_DATA:1个DWORD的union,一般为表示函数名字符串的RVA,或直接为函数地址
函数名字符串:IMAGE_IMPORT_BY_NAME:WORD hint(2字节)+ ascII 串


在OEP处设段,抓取的dump映像里面,IAT已经被外壳填充为真实的输入函数地址,所以要重构输入表,把他还原为INT的形式,运行时由PE加载器去枚举INT,获取真正的输入函数地址,填充IAT

 

A0h:重定位表的目录表

重定位表结构: DWORD 起始RVA,DWORD 数据长度,WORD数组,偏移值 。重定位表一般按页面组织

起始RVA+偏移值低12位=要重定位的地址的RVA,起始RVA一般为1000h,因为要重定位的基本都是代码段里面的直接地址引用之类。 一般只有DLL要用到重定位表,EXE都能加载到预定地址0x400000

原创粉丝点击