小甲鱼PE详解之IMAGE_NT_HEADERS结构定义即各个属性的作用

PE Header 是PE相关结构NT映像头(IMAGE_NT_HEADER)的简称,里边包含着许多PE装载器用到的重要字段。下边小甲鱼将为大家详细讲解哈~

首先是IMAGE_NT_HEADERS 结构的定义:(啥?结构不会,先看看小甲鱼童鞋的《零基础入门学习C语言》关于结构方面的章节吧~)
IMAGE_NT_HEADERS STRUCT 
+0h DWORD Signature    //
+4h   IMAGE_FILE_HEADER  FileHeader   //
+18h IMAGE_OPTIONAL_HEADER32 OptionalHeader   //
} IMAGE_NT_HEADERS ENDS

Signature 字段:
在一个有效的 PE 文件里,Signature 字段被设置为00004550h, ASCII 码字符是“PE00”。 标志这 PE 文件头的开始。
“PE00” 字符串是 PE 文件头的开始,DOS 头部的 e_lfanew 字段正是指向这里。

IMAGE_FILE_HEADER 结构
typedef 	struct _IMAGE_FILE_HEADER 
{
+04h	WORD  		Machine;                              	// 运行平台
+06h  	WORD  		NumberOfSections;			// 文件的区块数目
+08h	DWORD 		TimeDateStamp;			// 文件创建日期和时间
+0Ch  	DWORD 		PointerToSymbolTable;		// 指向符号表(主要用于调试)
+10h 	DWORD 		NumberOfSymbols;			// 符号表中符号个数(同上)
+14h  	WORD  		SizeOfOptionalHeader;		// IMAGE_OPTIONAL_HEADER32 结构大小
+16h  	WORD  		Characteristics;				// 文件属性
} IMAGE_FILE_HEADER,  *PIMAGE_FILE_HEADER;

下边,小甲鱼童鞋为大家详细解释各个成员的含义和用法:
(1)Machine:可执行文件的目标CPU类型。
ValueMeaning
IMAGE_FILE_MACHINE_I386 0x014c  

x86

IMAGE_FILE_MACHINE_IA64 0x0200

Intel Itanium

IMAGE_FILE_MACHINE_AMD64 0x8664

x64


(2)NumberOfSection: 区块的数目。(注:区块表是紧跟在 IMAGE_NT_HEADERS 后边的)
(3)TimeDataStamp: 表明文件是何时被创建的。
这个值是自1970年1月1日以来用格林威治时间(GMT)计算的秒数,这个值是比文件系统(FILESYSTEM)的日期时间更加精确的指示器。如何将这个值翻译请看:http://home.fishc.com/space.php?uid=9&do=blog&id=555
提示:VC的话可以用_ctime 函数或者 gmtime 函数。
(4)PointerToSymbolTable: COFF 符号表的文件偏移位置,现在基本没用了。
(5)NumberOfSymbols: 如果有COFF 符号表,它代表其中的符号数目,COFF符号是一个大小固定的结构,如果想找到COFF 符号表的结束位置,则需要这个变量。

(6)SizeOfOptionalHeader: 紧跟着IMAGE_FILE_HEADER 后边的数据结构(IMAGE_OPTIONAL_HEADER)的大小。(对于32位PE文件,这个值通常是00E0h;对于64位PE32+文件,这个值是00F0h )。
(7)Characteristics: 文件属性,有选择的通过几个值可以运算得到。( 这些标志的有效值是定义于 winnt.h 内的 IMAGE_FILE_xxx 的值,具体含义见下表。普通的EXE文件这个字段的值一般是 0100h,DLL文件这个字段的值一般是 210Eh。)小甲鱼温馨提示:多种属性可以通过 “或运算” 使得同时拥有!

The characteristics of the image. This member can be one or more of the following values.

ValueMeaning
IMAGE_FILE_RELOCS_STRIPPED    0x0001

Relocation information was stripped from the 

file. The file must be loaded at its preferred

base address. If the base address is not 

available, the loader reports an error.

IMAGE_FILE_EXECUTABLE_IMAGE 0x0002

The file is executable (there are no unresolved 

external references).

IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004

COFF line numbers were stripped from the 

file.

IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008

COFF symbol table entries were stripped from 

file.

IMAGE_FILE_AGGRESIVE_WS_TRIM 0x0010

Aggressively trim the working set. This value is 

obsolete as of Windows 2000.

IMAGE_FILE_LARGE_ADDRESS_AWARE 0x0020

The application can handle addresses larger 

than 2 GB.

IMAGE_FILE_BYTES_REVERSED_LO 0x0080

The bytes of the word are reversed. This flag

 is obsolete.

IMAGE_FILE_32BIT_MACHINE 0x0100

The computer supports 32-bit words.

IMAGE_FILE_DEBUG_STRIPPED 0x0200

Debugging information was removed and stored 

separately in another file.

IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 0x0400

If the image is on removable media, copy it to

and run it from the swap file.

IMAGE_FILE_NET_RUN_FROM_SWAP 0x0800

If the image is on the network, copy it to and 

run it from the swap file.

IMAGE_FILE_SYSTEM 0x1000

The image is a system file.

IMAGE_FILE_DLL 0x2000

The image is a DLL file. While it is an executable

 file, it cannot be run directly.

IMAGE_FILE_UP_SYSTEM_ONLY 0x4000

The file should be run only on a uniprocessor

 computer.

IMAGE_FILE_BYTES_REVERSED_HI 0x8000

The bytes of the word are reversed. This flag

 is obsolete.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设是在国家政策推动下,为深化教育改革、提升教育质量和管理效率而提出的重要项目。该项目旨在通过信息化手段,解决传统教育中存在的资源分散、管理混乱等问题,实现教育资源的高效利用和教学质量的全面提升。 目前,教育信息化虽取得一定进展,但面临“孤岛架构”的挑战,包括硬件资源无法共享、数据孤岛、应用孤岛等问题,导致资源浪费和管理效率低下。为此,智慧校园的建设目标聚焦于家校沟通便捷化、校园管理科学化、校园生活轻松化、课堂教学互动化和校园设施智能化,以提高教学效率和学生学习体验。 智慧校园的核心价值在于构建先进的网络教学平台和管理信息系统,实现教学资源的高效配置和利用,促进师生互动,提高管理效率,降低成本,构建健康高雅的生活环境。解决方案涵盖综合应用平台规划、系统架构设计、媒体发布、数字会议系统等,通过后台服务层、基础接入层和用户接入层的有机结合,实现智慧校园的全面功能。 智慧校园管理平台作为核心组成部分,提供模块化体系,包括公开课、直播、教学资源等23大应用,支持与第三方接口对接,实现多级管理。电教预约管理平台通过移动端APP或web后台简化预约流程,提高教室和会议室资源利用率,支持会议预订、审批、信息发布和环境管控。 教育录播系统和云平台支持教师制作和分享优质教学资源,进行在线组卷和评卷,同时提供学生应用,如高清视频录制、在线直播和互动交流,促进教学资源的共享和教育均衡化发展。这些系统的整合应用,将极大地推动教育信息化进程,实现教育资源的最大化利用和教育质量的全面提升。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值