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消息包括:客户机向服务器的请求消息和服务器向客户机的响应消 息.客户端向服务器发送一个请求,请求头 ...
随机推荐
- 制定RPM包和加入YUM源
##################################################### ##如有转载,请务必保留本文链接及版权信息 ##欢迎广大运维同仁一起交流linux/unix ...
- 常用的几个JQuery代码片段
1. 导航菜单背景切换效果 在项目的前端页面里,相对于其它的导航菜单,激活的导航菜单需要设置不同的背景.这种效果实现的方式有很多种,下面是使用JQuery实现的一种方式: //注意:代码需要修饰完善 ...
- win10.net 安装出问题0x800F70422
因为安装ooracle数据库的时候需要用到.net但安装的时候出了0x800F70422, 随后就去网上查了下这个错出现的原因,发现是我之前把Windows自带的更新给禁用了 只要把它再开启就行了.
- Node.js 特点
1.单线程 在Java.PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约2MB内存.也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数 ...
- 想成长为一名年薪50万+的实战型架构师?必掌握这7大实战技能经验--阿里mike
想成为一名架构师,但是架构师对应的技能,我应该掌握哪些啊?以及掌握的程度是什么样的?如何成为一名真正的实战性架构师? 我简要分为以下7点来谈谈,从技能的角度抛砖引玉,希望你对你架构师之路有一定的参考. ...
- CentOS6.5生产环境系统安装
CentOS 6.5系统安装 1-1 将预先准备的CentOS 6.5安装光盘插入光驱中,开机/重启系统时,系统会进行自检,自检完毕就会出现安装系统时的引导界面,如图1-1所示.1-2 使用键盘方向键 ...
- HDU_6194 后缀数组+RMQ
好绝望的..想了五个多小时,最后还是没A...赛后看了下后缀数组瞬间就有了思路...不过因为太菜,想了将近两个小时才吧这个题干掉. 首先,应当认为,后缀数组的定义是,某字符串S的所有后缀按照字典序有小 ...
- 网络流24题:P2762 太空飞行计划问题
P2762 太空飞行计划问题 题目背景 题目描述 W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合E={E1,E2,…,E ...
- putty的基本使用
1.输入你要连接的目标的IP地址,输入你要给它取的名字,点击保存 2.选中你保存的会话,点击打开,即可打开会话 3.输入你连接的目标的用户账号,回车,再输入密码.即可正常使用. 4.编码的设置 在出现 ...
- RNQOJ Jam的计数法
题目:https://www.rqnoj.cn/problem/3 非递归做法:(严格递增 单调大于 不可等于 ) 做法:循环体 <1>操作字符串 str 从后往前找,k=1,如果s[w ...