【发布时间】:2020-01-18 19:16:55
【问题描述】:
我有两个问题:
-
Pe32 标头由许多子标头组成。其中之一是可选标题。 MSDN 说
IMAGE_OPTIONAL_HEADER的最后一个元素是指向可执行文件的第一个IMAGE_DATA_DIRECTORY结构的指针。当我查看 NASM 的WIN32N.INC时,所有内容都与 MSDN 中列出的相同,不同之处在于指向第一个结构的指针大小为 8 字节而不是 4 字节(就像普通的 32 位指针):STRUCT IMAGE_OPTIONAL_HEADER .Magic RESW 1 ... .DataDirectory RESQ 1 <----- why RESQ? ENDSTRUC 当我想将 NASM 中作为“变量”存储的二进制数据中的 16 个 DataDirectories 复制到结构中时:是否可以创建具有 32 个条目的结构(导出目录 RVA + 大小,导入目录 RVA + 大小等...)并让指向可选标头中第一个 DataDirectory 结构的指针指向它的开头?因为否则就没有办法从第一个元素到其他元素,不是吗?
谁能解释一下?
【问题讨论】:
标签: pointers winapi assembly nasm portable-executable