首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不改变其行为的情况下,PE的哪些领域可能存在差异?

在不改变其行为的情况下,PE的哪些领域可能存在差异?
EN

Stack Overflow用户
提问于 2022-08-16 00:46:15
回答 1查看 36关注 0票数 0

我正在阅读PE文件结构文档,我想知道PE结构的哪些部分可能不同,而不改变它的行为。

为了澄清,假设我有一个计算器程序的两个PEs,COFF文件头的TimeDateStamp可能在它们之间有所不同,但是程序本身是“等效的”。

我的问题是,什么是所有字段,它们之间可能也不一样?问这个有意义吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-16 09:56:04

  • 除了e_lfanew之外,MZ和PE之间的所有东西(当然可能会在DOS中破坏它)。
  • TimeDateStamp
  • MajorLinkerVersion、MinorLinkerVersion、MajorImageVersion和MinorImageVersion,但在Windows中可能会触发非常小的兼容性shims
  • CheckSum (假设IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY没有设置,也不是内核驱动程序)
  • SizeOfStack...还有SizeOfHeap..。
  • 也许是LoaderFlags?该字段被废弃/无文档化。
  • 在headers (IMAGE_SECTION_HEADER)一节中,您很可能会更改ASCII名称和...Linenumbers。还可以将写和/或执行添加到特性中。
  • 有几个数据区域(资源等)在有时间戳的地方,您可以更改。
  • 数据区域之间的填充。

SizeOfInitializedData和SizeOfUninitializedData可以设置为0,也可以设置为其他值,但随后开始违反PE规范。

当您查看一些小型PE项目时,您会发现它们没有包含DataDirectories的完整列表,但是在现有的PE上很难做到这一点。这些项目通常只做NT加载程序所需要的任何事情,而不关心PE规范。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73367695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档