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消息包括:客户机向服务器的请求消息和服务器向客户机的响应消 息.客户端向服务器发送一个请求,请求头 ...
随机推荐
- phpstudy iis版本 php4.4.5 和 php5.6.7目录权限问题
开始用的php4.4.5 +iis 权限设置好了,切换成php5.6.7后目录没有了写入权限,各种百度后未能解决 php4.4.5 +iis 时 iis 匿名身份验证 用户是 IUSR 目 ...
- 27.28. VUE学习之--事件修饰符之stop&capture&self&once实例详解
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- url地址形式的传参格式拼接
例子一: var gid=pid=pizi=sn=newsn=sn_price=city_id=123; var params = 'gid=' +123; params += '&pid=' ...
- python练手习题
不断记录python常见习题,不断寻求更多更好的解决办法.持续更新中..... 练习: 1. list两两元素交换位置,如[1,2,3,4,5,6] 执行后为 -> [2,1,4,3,6,5] ...
- 初学js之qq聊天展开实例
实现这样的效果. 直接看代码,html部分: <body> <div class="box"> <div class="lists" ...
- 文件的特殊权限(SUID,SGID,SBIT)
文件的一般权限:r w x 对应 421 文件的特殊权限:SUID SGID SBIT对应 421 文件的隐藏权限:chattr设置隐藏权限,lsattr查看文件的隐藏权限. 文件访问控制列表: ...
- Django基于Pycharm开发之三[LANGUAGE_CODE与TIME_ZONE]
在django/conf/global_settings.py 中,我们可以找到关于language和timezone的通用配置信息,源码如下: # Local time zone for this ...
- Android 数据存储-文件读写操作
本来已经写了一部分,后来发现这篇博客写的比我的好,就直接引用一下: https://www.cnblogs.com/LiHuiGe8/p/5604725.html
- jenkins忘记管理员登陆密码
配置文件的路径在.../jenkins/config.xml (线上路径是/usr/local/tomcat7/webapps/jenkins/config.xml) 修复办法:千万注意:修复前一定要 ...
- python-day5-装饰器第二弹之多层装饰器
多层装饰器 #首先我们先实现一个简单的登陆与权限验证功能,注意看执行结果 USER_INFO = {} def check_login(func): def inner(*args,**kwargs) ...