零基础逆向工程21_PE结构05_数据目录表_导出表
2024-09-29 03:48:50
数据目录
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表
导出表
最新文章
- Oracle索引梳理系列(一)- Oracle访问数据的方法
- Java与模式读书笔记
- unity3d Light Probe Group图解超详细使用方法
- [转]ubuntu下安装程序的三种方法
- parseInt和valueOf
- 1509 -- Glass Beads POJ
- 一个Monad的不严谨介绍
- 在Centos7x上部署docker
- Python 列表切片陷阱:引用、复制与深复制
- Java日志输出问题
- SQL逻辑查询语句执行顺序 需要重新整理
- What are the differences between Flyweight and Object Pool patterns?
- AbstractQueuedSynchronizer,Lock,Synchronized
- jquery中ajax使用error调试错误的方法,实例分析了Ajax的使用方法与error函数调试错误的技巧
- 基础但是很重要的2-sat POJ 3678
- 如何使用phpmyadmin建立外键约束
- 第03章—打造RESTful风格API
- 如何成为java架构师(转载)
- spring.net 集成nhibernate配置文件(这里暴露了GetCurrentSession 对于 CurrentSession unbond thread这里给出了解决方法)
- BZOJ5343 [Ctsc2018]混合果汁 【二分 + 主席树】