【发布时间】:2015-10-01 20:39:05
【问题描述】:
如果你组装一个 PE(.exe,Win32 的可移植可执行文件)文件,它有一个入口点,你可以调用 _start、_main 或任何你喜欢的名称。
问题是 - 这个入口点是用一些参数调用的吗?如果是这样,它们是否可以在堆栈中访问?如果是这样,这个入口点函数是否需要清除堆栈?我在哪里可以找到有关这方面的一些文档?
【问题讨论】:
-
FS寄存器的值,某种意义上...
-
您所询问的技术术语是 Windows 进程的 ABI(应用程序二进制接口)。 ABI 还告诉您在新执行的进程中您对寄存器状态等的期望。 (例如,Unix x86-64 ABI 说它们中的大多数都未初始化。实际上,Linux 会将它们归零,以免泄漏内核数据。)
标签: winapi assembly x86 portable-executable