我们的函数实现注册表的监控,那么在nt下是否可以找到类似的函数来实现相应的功能呢, 很遗憾, 【程序编程相关:chm 文件名不能包含"#&q】二.nt/2000 部分
在上一篇中我们说在9x下大家可以方便的使用vmm提供的服务hook_device_service来挂上 【推荐阅读:perl的能力】
方法, 一种是驱动级的, 另一种是应用程序级的. 【扩展信息:signal and slot 的执行顺】在微软公开的文档里并没有此部分的说明. 但方法还是有的, 就实现注册表的监控来说, nt下有两种在驱动部分实现监控, 通常称为system call hooking,这是一种非公开的技术, 得不到正式
支持, 但微软经常这么干, 大家也都习以为常, 对于这种非公开技术的可靠性并不打折扣, ms press就经常出版类似技术的书籍供程序员参考.据说有关system call hooking的技术在 "undocument windows nt"一书中有些说明, 假如
谁能提供e版, 将不胜感激.如同9x, 监控注册表还是拦截几个系统服务:
begin_hook_table: zwopenkey zwquerykey zwqueryvaluekey zwenumeratevaluekey zwenumeratekey zwclose zwflushkey zwdeletekey zwsetvaluekey zwcreatekey zwdeletevaluekey zwloadkey zwunloadkeyend_hook_table:这几个服务例程在ntoskrnl.exe里实现, 可以在ntddk里找到说明. ntoskrnl.exe对这些系统
服务有很好的组织, 类似与dos下的中断向量表, 几乎所有的函数起始地址组织在一张keservicedescriportable表中, 模拟一下大概的结构就是:... 下一页