零基础逆向工程21_PE结构05_数据目录表_导出表

数据目录

1、我们所了解的PE分为头和节,在每个节中,都包含了我们写的一些代码和数据,但还有一些非常重要             
的信息是编译器替我们加到PE文件中的,这些信息可能存在在任何可以利用的地方。              
                
2、这些信息之所以重要,是因为这些信息包含了诸如:               
                
PE程序的图标在哪里?             
                
用到了哪些系统提供的函数?               
                
为其他的程序提供哪些函数?               
                
3、编译器添加了这么多信息,那程序是如何找到这些信息的呢?               
                
答案就是:数据目录

4、数据目录定位:

可选PE头最后一个成员,就是数据目录.一共有16个:

typedef struct _IMAGE_DATA_DIRECTORY {              
    DWORD   VirtualAddress;             //内存偏移
    DWORD   Size;               //大小
} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;

#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES    16

分别是:导出表、导入表、资源表、异常信息表、安全证书表、重定位表、调试信息表、版权所以表、全局指针表
TLS表、加载配置表、绑定导入表、IAT表、延迟导入表、COM信息表 最后一个保留未使用。  

和程序运行时息息相关的表有:

导出表
导入表
重定位表
IAT表

导出表

1135275-20171004222709583-1528316268.png

转载于:https://www.cnblogs.com/flatcc/p/7627424.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值