PE笔记之NT头PE扩展头
typedef
struct
_IMAGE_OPTIONAL_HEADER {
//
// Standard fields.
//
WORD Magic;
//010B-IMAGE_NT_OPTIONAL_HDR32_MAGIC
BYTE MajorLinkerVersion;
//0A-连接器主版本号
BYTE MinorLinkerVersion;
//00-连接器小版本号
DWORD SizeOfCode;
//0000008A(138)-代码节大小
DWORD SizeOfInitializedData;
//0000004C(76)-已初始化数据大小
DWORD SizeOfUninitializedData;
//00000000(0)-为初始化数据大小
DWORD AddressOfEntryPoint;
//000110AA程序入口地址
DWORD BaseOfCode;
//00001000程序段基地址
DWORD BaseOfData;
//00001000数据段基地址
//
// NT additional fields.
//
DWORD ImageBase;
//镜像加载基地址00400000
DWORD SectionAlignment;
//节对其0001000(4096)
DWORD FileAlignment;
//文件对齐0000200(512)
WORD MajorOperatingSystemVersion;
//操作系统主版本号0005
WORD MinorOperatingSystemVersion;
//操作系统小版本号0001
WORD MajorImageVersion;
//镜像主版本号0000
WORD MinorImageVersion;
//镜像小版本号0000
WORD MajorSubsystemVersion;
//子系统主版本号0005
WORD MinorSubsystemVersion;
//子系统小版本号0001
DWORD Win32VersionValue;
//0
DWORD SizeOfImage;
//镜像大小00022000
DWORD SizeOfHeaders;
//头大小0400
DWORD CheckSum;
//0
WORD Subsystem;
//03-IMAGE_SUBSYSTEM_WINDOWS_CUI
WORD DllCharacteristics;
//8140IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE
DWORD SizeOfStackReserve;
//栈初始化大小010000
DWORD SizeOfStackCommit;
//栈提交大小01000
DWORD SizeOfHeapReserve;
//堆初始化大小010000
DWORD SizeOfHeapCommit;
//堆提交大小01000
DWORD LoaderFlags;
//0
DWORD NumberOfRvaAndSizes;
//10(16)
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
//数据目录表
} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;
AddressOfEntryPoint字段
ImageBase字段
SectionAlignment 字段和FileAlignment字段
Subsystem字段
取 值
|
Windows.inc中的预定义值
|
含 义
|
0
|
IMAGE_SUBSYSTEM_UNKNOWN
|
未知的子系统
|
1
|
IMAGE_SUBSYSTEM_NATIVE
|
不需要子系统(如驱动程序)
|
2
|
IMAGE_SUBSYSTEM_WINDOWS_GUI
|
Windows图形界面
|
3
|
IMAGE_SUBSYSTEM_WINDOWS_CUI
|
Windows控制台界面
|
5
|
IMAGE_SUBSYSTEM_OS2_CUI
|
OS2控制台界面
|
7
|
IMAGE_SUBSYSTEM_POSIX_CUI
|
POSIX控制台界面
|
8
|
IMAGE_SUBSYSTEM_NATIVE_WINDOWS
|
不需要子系统
|
9
|
IMAGE_SUBSYSTEM_WINDOWS_CE_GUI
|
Windows CE图形界面
|
DataDirectory字段
索 引
|
索引值在Windows.inc中的预定义值
|
对应的数据块
|
0
|
IMAGE_DIRECTORY_ENTRY_EXPORT
|
导出表
|
1
|
IMAGE_DIRECTORY_ENTRY_IMPORT
|
导入表
|
2
|
IMAGE_DIRECTORY_ENTRY_RESOURCE
|
资源
|
3
|
IMAGE_DIRECTORY_ENTRY_EXCEPTION
|
异常(具体资料不详)
|
4
|
IMAGE_DIRECTORY_ENTRY_SECURITY
|
安全(具体资料不详)
|
5
|
IMAGE_DIRECTORY_ENTRY_BASERELOC
|
重定位表
|
6
|
IMAGE_DIRECTORY_ENTRY_DEBUG
|
调试信息
|
7
|
IMAGE_DIRECTORY_ENTRY_ARCHITECTURE
|
版权信息
|
8
|
IMAGE_DIRECTORY_ENTRY_GLOBALPTR
|
具体资料不详
|
9
|
IMAGE_DIRECTORY_ENTRY_TLS
|
Thread Local Storage
|
10
|
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG
|
具体资料不详
|
11
|
IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT
|
具体资料不详
|
12
|
IMAGE_DIRECTORY_ENTRY_IAT
|
导入函数地址表
|
13
|
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT
|
具体资料不详
|
14
|
IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR
|
具体资料不详
|
15
|
未使用
|
PE笔记之NT头PE扩展头的更多相关文章
- PE笔记之NT头PE签名
typedef struct _IMAGE_NT_HEADERS { DWORD Signature; //PE头签名PE\0\0 IM ...
- PE笔记之NT头PE文件头
typedef struct _IMAGE_FILE_HEADER { WORD Machine; //014C-IMAGE_FILE ...
- PE文件学习系列三-PE头详解
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 最近比较忙 ...
- PE文件格式详解,第一讲,DOS头文件格式
PE文件格式详解,第一讲,DOS头文件格式 今天讲解PE文件格式的DOS头文件格式 首先我们要理解,什么是文件格式,我们常说的EXE可执行程序,就是一个文件格式,那么我们要了解它里面到底存了什么内容 ...
- PE文件格式详解,第三讲,可选头文件格式,以及节表
PE文件格式详解,第三讲,可选头文件格式,以及节表 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶可选头结构以及作 ...
- PE笔记之PE基本结构图(PE笔记索引)
PE(Portable Execute) 文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任 何扩展名.那 ...
- UNIX标准化及实现之POSIX标准扩展头文件
POSIX标准定义的XSI(X/Open System Interface)扩展头文件 头文件 说明 <cpio.h> cpio归档值 <dlfcn.h> 动态链接 <f ...
- Android系列之网络(二)----HTTP请求头与响应头
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- (二)----HTTP请求头与响应头
一.HTTP头引入: 正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度.通常HTTP消息包括:客户机向服务器的请求消息和服务器向客户机的响应消 息.客户端向服务器发送一个请求,请求头 ...
随机推荐
- cmf5分页相关
//分页配置在app/config.php 'paginate' => [ 'type' => '\cmf\paginator\Bootstrap', 'var_page' => ' ...
- tcl之变量-unset 简单变量和数组
- 37.VUE学习之-表单的综合运用
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Girls and Boys-hdu 1068
Girls and Boys Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 2015-2016 Northwestern European Regional Contest (NWERC 2015)
训练时间:2019-04-05 一场读错三个题,队友恨不得手刃了我这个坑B. A I J 简单,不写了. C - Cleaning Pipes (Gym - 101485C) 对于有公共点的管道建边, ...
- [BZOJ2331]地板(插头DP)
Description lxhgww的小名叫"小L",这是因为他总是很喜欢L型的东西.小L家的客厅是一个的矩形,现在他想用L型的地板来铺满整个客厅,客厅里有些位置有柱子,不能铺地板 ...
- CentOS下的Redis启动脚本
这是一个Shell脚本,用于管理Redis进程(启动,停止,重启),如果你在使用Redis,这个脚本可供参考. #!/bin/sh # # redis - this script starts and ...
- Android 适配器 自定义
前言:最近看了几个开源项目,发现适配器这东西用的很多,一开始觉得这东西高大上,其实呢,感觉就是一个中转站,或者说是一个接口工具,将数据填充到一个视图中,几乎任何项目都会涉及到.所以今天也简单看了一下, ...
- jvm探秘之三:GC初步
GC即垃圾收集器,虚拟机的必要组成部分. 不过这里说当然是,hotspot虚拟机(jvm的主要版本)的GC机制,前面说过了jvm的组成部分,那么想当然GC只需要负责方法区和堆就好了,虚拟机栈.本地方法 ...
- HDU 3333 Turing Tree 莫队算法
题意: 给出一个序列和若干次询问,每次询问一个子序列去重后的所有元素之和. 分析: 先将序列离散化,然后离线处理所有询问. 用莫队算法维护每个数出现的次数,就可以一边移动区间一边维护不同元素之和. # ...