
以上是MS-DOS头字段的完整列表,但我不知道哪些是强制性的,哪些是可选的,有人知道吗?
如果您尝试创建 PE 映像,e_magic(Magic number) 和elfanew(File address of new exe header) 是您必须填写的唯一必填字段。elfanew应该指向 PEIMAGE_NT_HEADER结构。
早在 2006 年,有人想创建世界上最小的 PE。为此,他编写了一个小型 PE Fuzzer。使用最小的代码库。
return 42;
他设法获得了以下大小的 PE,您太忙了,无法阅读整个页面,以下是结果摘要:
你可以在这里查看他的作品: http ://www.phreedom.org/research/tinype/
他还说明了所需的标头值。这些是:
可选标题:
对于 MS-DOS,所有标题都是强制性的。
对于 Win9x 及以上版本,e_lfanew 必须是图像开头到 IMAGE_NT_HEADERS 开头的偏移量,e_magic 必须是 IMAGE_DOS_SIGNATURE ('MZ')。