我只是在github上搜索ReactOS源代码,但在ntdll中找不到系统调用存根。这是如何实现的?我可以看到SharedUserData->SystemCall被设置为KiIntSystemCall / KiFastSystemCall,但我无法跟踪它的任何使用情况或调用存根的实际位置。我期望在构建ntdll时在asm文件中看到它们的一个大列表。
发布于 2020-05-13 09:29:35
如果你仔细观察ReactOS‘ntdll的CMakeFiles.txt,你会注意到它链接了一个名为"ntdllsys“的静态库。浏览代码可以看出,这个"ntdllsys“库的构建规则是在ReactOS的ntoskrnl CMakeFiles.txt文件中定义的。进一步看,这个库的唯一源文件是名为"ntdll.S“的预处理程序集文件,它包括执行魔术的帮助器头文件("syscalls.inc”表示特定于平台的程序集帮助程序,"sysfuncs.h“表示系统调用列表)。这个想法是实际的存根是自动生成的。
https://stackoverflow.com/questions/61724100
复制相似问题