我想在Windows10 x64上用相应的服务例程注册一个新的软件中断,这可能吗?我是否必须使用无文档的特性手动完成此操作,并且是否会触发内核修补程序保护?
发布于 2018-07-08 05:49:10
注册软件中断将导致正在运行的操作系统修改中断描述符表(IDT)。Windows具有内核修补程序保护(KPP) / PatchGuard,它保护内核代码和数据结构(如IDT )不被篡改。这包括防止添加新的中断描述符条目,删除它们,以及一般地修改描述符表。
这也意味着不能修改中断描述符条目。开发人员这样做的原因是将中断重定向到新的中断服务例程,也称为中断挂钩。这也由于人民党/PatchGuard的存在而被阻止。
一般来说,对于从XP开始的64位版本的Windows,PatchGuard/KPP可以防止IDT以任何方式被修改。但是,Microsoft已经明确声明,当内核调试器被激活时,KPP/PatchGuard将被禁用。尽管如此,关键的内核代码和数据结构(如IDT )仍然可以在32位版本的Windows上进行修改,无论内核调试器是否存在。
https://stackoverflow.com/questions/50441687
复制相似问题