PE头之IMAGE_OPTIONAL_HEADER解析

预备知识

一、相关实验

本实验要求您已经认真学习和完成了《IMAGE_DOS_HEADER解析》、《PE头之IMAGE_FILE_HEADER解析》。

二、C32Asm

C32Asm是一款国产的16进制编辑器,可以十分方便的对二进制文件进行各种编辑操作,同时支持反汇编操作。
本系列实验主要使用C32Asm作为编辑器,同类的编辑工具还有WinHex、010Editor等。

三、LordPE

LordPE除了可以查看PE文件的基本信息之外,还支持对PE文件的编辑操作,可以修改PE文件中各个字段或者结构的数据然后进行保存。

实验目的

1)学习PE文件结构中OptionalHeader部分;
2)了解AddressOfEntryPoint以及ImageBase;
3)了解数据目录表的结构。

实验环境

在这里插入图片描述
服务器:Windows XP,IP地址:随机分配
辅助工具:C32Asm、PEiD、StudPE、LordPE

实验步骤一

OptionalHeader结构学习。
在上一个实验中我们介绍了IMAGE_NT_HEADERS结构体中的Signature字段以及FileHeader字段,本实验将介绍其最后一个字段OptionalHeader。OptionalHeader的中文译名叫做“可选头”,用于为加载器提供加载信息,注意OptionalHeader的大小并不固定,其大小由FileHeader中的SizeOfOptionalHeader字段来决定,其关系如下图所示:
在这里插入图片描述
OptionalHeader字段对应的结构体的名称为IMAGE_OPTIONAL_HEADER,该结构体在WinNt.h头文件中的完整定义如下:

typedef struct _IMAGE_OPTIONAL_HEADER {
    WORD    Magic;
    BYTE    MajorLinkerVersion;
    BYTE    MinorLinkerVersion;
    DWORD   SizeOfCode;
    DWORD   SizeOfInitializedData;
    DWORD   SizeOfUninitializedData;
    DWORD   AddressOfEntryPoint;
    DWORD   BaseOfCode;
    DWORD   BaseOfData;
    DWORD   ImageBase;
    DWORD   SectionAlignment;
    DWORD   FileAlignment;
    WORD    MajorOperatingSystemVersion;
    WORD    MinorOperatingSystemVersion;
    WORD    MajorImageVersion;
    WORD    MinorImageVersion;
    WORD    MajorSubsystemVersion;
   
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值