知识点整理集.docVIP

  • 6
  • 0
  • 约1.26万字
  • 约 17页
  • 2016-06-07 发布于重庆
  • 举报
知识点整理集

内核动态修补能力 /zh-cn/windows/hardware/gg487353 什么是内核修补? 内核修补?是一种行为,这种行为借助内部系统调用和其他不支持的机制,使用未知代码或数据来修改或替换 Microsoft Windows 操作系统内核中代码或重要结构。“未知代码或数据”是指不是由 Microsoft 作为 Windows 内核的一部分提供的任何代码或数据。 开发人员有时候通过更改系统服务表中的函数指针来修补内核,系统服务表是一个指向内存中的系统服务的函数数组。(编写代码来完成这种修补的过程有时称为与系统服务表挂钩。)当调用系统服务时,服务调度程序使用服务编号来获取函数指针,然后使用该函数指针来实际调用服务。因此,当调用?NtCreateProcess?时,系统服务调度程序使用?NtCreateProcess?的服务编号通过索引查找系统服务表。然后获取与这个编号对应的函数指针并调用?NtCreateProcess?服务。关于操作系统如何调度和执行系统服务调用的更多信息,请参阅本文结尾的“资源”。 当系统服务表中的函数指针更改为指向由第三方提供的代码的内存地址时,服务调度程序最终会调用第三方代码,而不是可疑的内核代码。从本质上讲,内核修补会绕过实际的 Windows 内核代码来调用未知的第三方代码。第三方代码可能试图为 Windows 功能提供某种合法扩展,但是它也可能是

文档评论(0)

1亿VIP精品文档

相关文档