【发布时间】:2019-03-07 12:10:44
【问题描述】:
我正在审查关于可移植可执行文件(EXE 文件)的 Microsoft 规范。特别是,我正在审查 .edata(导出数据)部分。这里是what the specification says about the edata section:
名为 .edata 的导出数据部分包含有关 其他图像可以通过动态链接访问的符号。出口 符号一般存在于 DLL 中,但 DLL 也可以导入符号。
非 DLL 文件可以有 edata 部分吗?具体来说,C 程序是否可以在编译和链接后生成包含 edata 节的 EXE 文件?如果是,请您展示一个简单的 C 程序,该程序在编译和链接后会生成一个包含 edata 部分的 EXE 文件?
【问题讨论】:
-
在第一个部分名称根本没有任何作用。任何PE都可以有导出表,有什么问题?
-
导出数据部分,名为 .edata - 这是错误的。
IMAGE_EXPORT_DIRECTORY数据目录不是一个section,可以属于任意一个section,任意名字
标签: c compilation executable portable-executable