我正在做一个实验以成功地在全球范围内挂钩 API 调用,并且我在某处阅读了有关 SDT(服务描述符表)和内核模式驱动程序的信息。
这种钩子是否适用于驻留在 user32.dll 之类的调用?
我正在做一个实验以成功地在全球范围内挂钩 API 调用,并且我在某处阅读了有关 SDT(服务描述符表)和内核模式驱动程序的信息。
这种钩子是否适用于驻留在 user32.dll 之类的调用?
这将挂钩所有需要进入内核模式才能运行的东西(I/O、文件系统、进程/线程、内核对象)。
虽然它们非常不稳定,不应该使用。您只能在 x86 系统版本上进行 SDT 挂钩,因为在 x64 上,ntoskrnl 不会导出 KeServiceDescriptorTable 符号,并且PatchGuard将在错误检查 BSOD 中最终确定您的系统。
有很多方法可以绕过 KPP,但我不建议您继续这样做。