liuxiuling50 发表于 2024-8-27 09:34

PE文件中字符英文含义

本帖最后由 liuxiuling50 于 2024-8-29 10:34 编辑

DOS头中的e_lfanew英文字母是什么意思,e是表示exe吗?如果是exe,PE也包括dll、sys、ocx,为什么不用其他的字符,l是表示long吗,fanew是file address of new exe header吧

52lvqiang 发表于 2024-8-27 15:12

善用AI:
在 DOS 头中的 e_lfanew 字段的命名中,e_lfanew 是由一系列缩写和约定组合而成,具体含义如下:

e_:这个前缀是 exe 的缩写,表明这个结构体与可执行文件(Executable)相关。虽然 PE 格式不仅用于 .exe 文件,还用于 .dll、.sys、.ocx 等类型的文件,但该字段的命名是在 DOS 可执行文件格式(MZ 头)时代延续下来的。

l:l 代表的是 long 类型,意指这个字段的数据类型是一个长整型(long),也就是一个 4 字节(32 位)的值。

fanew:fanew 是 File address of new exe header 的缩写,确切地说是“新头部的文件地址”。new 指的是 PE 头,也就是 PE 文件的实际头部。

总结
e_lfanew 的字面意思是:“可执行文件(exe)中,PE 头的文件偏移(地址)”,即相对于文件开头的偏移量,用于指向 PE 头的起始位置。

e_ 是和 exe 相关的标识。
l 代表 long 类型的字段。
fanew 是 “File address of new exe header”的缩写,表示新头部的文件地址。
虽然 exe 格式演变成了更通用的 PE 格式,并适用于多个文件类型,最初的命名约定仍然延续了下来。

liuxiuling50 发表于 2024-8-29 10:33

52lvqiang 发表于 2024-8-27 15:12
善用AI:
在 DOS 头中的 e_lfanew 字段的命名中,e_lfanew 是由一系列缩写和约定组合而成,具体含义如下: ...

感谢{:1_893:},逆向新手
页: [1]
查看完整版本: PE文件中字符英文含义