.text 和 .code 部分名称之间的区别

difference between .text and .code section name

我使用 pe 文件分析器软件,如 exeinfoPe,在部分列表部分有 .text 和 CODE 部分类型,我们可以使用它们,例如将 .data 名称更改为 .text 或 CODE 或其他部分名称。这些部分类型相同吗?他们之间有什么区别?

二进制文件的 .text.code 部分在功能上没有区别。

在几乎所有情况下,它们都是完全同义的(意味着它们指的是同一部分),但即使它们不是(例如 由于实际顺序二进制文件中的部分),它们语义相同。

这是包含可执行指令 ("code") 的目标文件或地址 space 的部分,这些指令以纯文本形式存储 ("text")。与 .data 部分不同,它几乎总是 read-only。

请查阅您的汇编器、编译器、链接器或反汇编器的文档,了解它喜欢哪个名称。 PE格式使用.text.

.CODE.TEXT 部分之间没有语义差异。 正如在 MASM assembler 中,指令 space 地址由 .CODE 部分命名,而在其他编译器中由 .CODE.[=18 命名=]

因此,当您 assemble 您的代码带有 MASM 时,您将看到 .CODE 部分以及 .TEXT