关于Windows中PE的切入点

时间:2010-09-19 12:32:11

标签: windows portable-executable entry-point

它始终位于代码段的最低地址吗?

1 个答案:

答案 0 :(得分:8)

不,不一定。 PE入口点在IMAGE_OPTIONAL_HEADER结构的AddressOfEntryPoint字段中定义:

  

指向入口点函数的指针,相对于图像基址。对于可执行文件,这是起始地址。对于设备驱动程序,这是初始化函数的地址。入口点函数对于DLL是可选的。如果没有入口点,则该成员为零。

链接器可以将其设置为它想要的任何值,只要它是PE的有效相对虚拟偏移量即可。一些编译器和链接器可能具有将入口点放在文本/代码部分开头的约定,但是没有OS或PE格式要求。