Windows内核的分析.docVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows内核的分析.doc

Gloomy对Windows内核的分析(对象管理器) 目录 ========== Inside WINDOWS NT Object Manager ???? 00.对象化的 Windows NT ???? 01.Windows NT对象管理器 ???? 02.对象类型 ???? 03.Object Directory 与 SymbolicLink ???? 04.对象的创建与对象的结构 ???? 05.Object Type 结构体 ???? 06.Дальнейшая жизнь объекта - простейший с лучай ???? 07.句柄数据库 ???? 08.对象的安全性 ???? 09.命名对象 ???? 0a.对象的消亡 ???? 0b.其它管理器函数 ???? 0c.结语 附录 ???? 13.从用户模式下获取对象信息 ???? 14.某些与对象管理相关的系统服务 00.对象化的 Windows NT ========================= 如果您熟悉Windows NT体系结构,当然会知道在这个系统中资源都是以对象的形式存在的。 这样集中了对资源的管理。实际上,所有的Windows NT子系统无论如何都要使用资源,也就 是说都要经过对象管理器。对象管理器是Windows NT的子系统,它对对象提供支持。对对象 的使用贯穿了整个操作系统,真正的“对象化”的NT对应用程序隐藏了Win32子系统,甚至于 部分的隐藏了系统调用接口。 ??? 通常,当提到NT的体系结构时,都会说到各种管理器(对象管理器、内存管理器等等)。所 有这些管理器都是Windows NT内核(ntoskrnl.exe)的一部分。NT的内核主要使用C语言编写 的,每一个管理器本身都是一组函数,这些函数都被封装在相应的模块中。并不是所有的都 定义了接口。管理器之间借助于函数调用相互协作(在内核内部)。一部分函数从内核中导 出的并公开了使用方法以在内核模式下使用。 对象管理器是一组形如ObXXXX的函数。实际上并不是所有的函数都是从内核中导出的。一般 说来,对象管理器主要在内核中实现。例如,许多系统调用(NtCreateProcess、NtCreateE vent...)的处理都与这样或是那样的对象相联系。但是服务隐藏了对象管理器,不让我们的 程序知道。甚至于驱动程序的设计人员未必需要大量直接的与对象管理器打交道。尽管如此 ,了解内核是如何实际工作的无疑非常重要,更为重要的是对象管理器还与安全管理器密切 相关。理解了对象管理器就揭开了NT中许多起初并不明显,但潜在具有的可能性…… 01.Windows NT对象管理器 ================================ 对象管理器是NT内核中许多形如ObXXX的函数。某些函数并未导出并只在内核内部由子系统使 用。对于在内核之外的使用,主要是通过未公开的函数。 ?ObAssignSecurity, ObCheckCreateObjectAccess , ObCheckObjectAccess, ?ObCreateObject, ObDereferenceObject, ObFindHandleForObject, ?ObGetObjectPointerCount, ObGetObjectSecurity,? ObInsertObject, ?ObMakeTemporaryObject, ObOpenObjectByName, ObOpenObjectByPointer, ?ObQueryNameString, ObQueryObjectAuditingByHandle, ?ObReferenceObjectByHandle, ObReferenceObjectByName, ?ObReferenceObjectByPointer, ObReleaseObjectSecurity, ?ObSetSecurityDescriptorInfo, ObfDereferenceObject, ObfReferenceObject 为了描述对象管理器,我们先来看一下什么是对象。 02.对象类型 ================ 对象管理器本身就工作在某些对象之上。其中之一就是object type。object type用于描述 所有对象的共同属性。object type由函数ObCreateObjectType(...)在内核初始化子系统的 时候创建(也就是说是在系统初始化的时候)。我们所感兴趣的并不是ObCreateObjectType (...)函数,因为其并未由内核导出。但是,在object type中的信息是非常重要的。关于这 些我们少后再说。 大概的讲,任

文档评论(0)

aiwendang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档