在 Windows 中记录系统调用
我一直在寻找在 Windows 上实时获取系统调用的方法一段时间。我在 stackoverflow 和其他地方查看了几篇文章,但找不到任何足够简单的内容让我可以遵循…
在没有堆栈的 Linux 上进行系统调用
在 Linux i386 上,int $0x80 系统调用 ABI 使得无需有效的用户空间堆栈即可轻松执行系统调用。另一方面,vdso/vsyscall 接口需要访问堆栈。其他 Linu…
RegisterClassEx函数返回的ATOM有什么用?
我正在阅读 RegisterClassEx 的文档发现该函数的返回类型为ATOM。 ATOM RegisterClassEx(CONST WNDCLASSEX *lpwcx); 当使用 CreateWindowEx 创建窗口…
对于有缺陷、内存泄漏的 POSIX API,我们该怎么办?
免责声明:这是一个分配,但分配并不要求我们消除内存泄漏。我只是对这个有保留。 考虑以下方法: //Prints the current user ID to the console. voi…
如何使用 putenv 系统调用来维护内存?
POSIX 系统调用 putenv 声明在调用 putenv 后,调用者无法释放分配的内存字符串。因此,您不能使用自动变量调用 putenv。 示例: #include #include #…
修改_ldt在哪里?
我正在寻找 modify_ldt 函数(或 syscall) 在 ubuntu 上,但我在任何地方都找不到它的声明。它不在 sys/types.h 中(如手册页所示),也不在 linux/ld…
如何使用lseek读取文件的最后一个字符
我正在尝试使用 lseek 以相反的顺序读取文件中的字符。 到目前为止,我已经: int finished = 1; char temp[1]; while (finished > 0) { lseek(fileID…
当启动系统调用时,用户模式的ss和esp是如何保存的,例如在linux中?
我知道用户模式 ss/esp 应该保存到内核模式堆栈中以供以后恢复。 问题是,要定位内核模式堆栈,必须首先向 ss/esp 加载相应的内核模式值。现在在…
execve() 和 fork() 的源代码
Closed. This question is seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. It does not …