【发布时间】:2015-01-11 03:28:57
【问题描述】:
在 Linux 中,我可以在 C 中编程 exit(0);或在 ASM (__NR_exit 1, int 0x80) 中使用系统调用退出我的程序,但在 Windows 中是否相同?我可以使用系统调用并且我在 C 中的函数在用户空间中使用内部系统调用吗?
【问题讨论】:
-
在 Windows 上,旧机制使用
int 0x2e,但是您没有使用快速系统调用机制(如果可用)。你可以只调用 NTDLL 中的东西。 -
Int 0x2e 并非在所有 Windows 版本中都可用——尤其是在旧的 9x 系列中。微软从未正式“允许”直接访问系统调用,因此他们可以随时删除此中断。
标签: windows assembly system-calls