windbg练习,连带发现win7的对象管理ObjectHeader有改变
来源:互联网 发布:适合程序员的显示器 编辑:程序博客网 时间:2024/05/29 15:02
近日无聊,打开在vmware下搞了个win7 sp1捣鼓一番。按照习惯先查看pspcidtable,发现NextHandleNeedingPool是0x1000,也就是说已经有1级表了。由于这个win7是纯净版的,新装状态下就已经有这么多的cid了,在干净xp和2003上,几乎都是只有0级表的,故顿时感觉win7真是耗不少的资源。
随便找个进程看看,用!process确定了explorer.exe的EPROCESS地址,从pspcidtable依次查找过去,老的查表方法依然成功,没有发现多大的变化。继续探索,想找到OBJECT_TYPE_INITIALIZER看看一些OpenProcedure,CloseProcedure之类的过程有没有什么不同。把得到的EPROCESS地址8718b4c8减去0x18,即8718b4b0,直接以dt _object_header 8718b4b0观察之,居然发现,ObjectType的指针居然没有了!!只发现了一个TypeIndex的域,值为7。大概猜测到应该是查找对象类型的方法变了。
为了偷懒,直接搜索了一下关于TypeIndex的资料,从大牛炉子的文章中得知win7有了一个ObTypeIndexTable的东西,保存了一个ObjectType指针数组。并且该数组从索引2开始有效(索引0是全0,索引1是bad0b0b0,用bad开头真是有意思),索引2就是Type对象本身了。那就直接在里面找索引7吧,熟悉的ObjectType终于看到了,顺利找到了OBJECT_TYPE_INITIALIZER,发现了:
+0x034 OpenProcedure : 0x83e57d47 long nt!PspProcessOpen+0
+0x038 CloseProcedure : 0x83eb7dee void nt!PspProcessClose+0
+0x03c DeleteProcedure : 0x83eba6b5 void nt!PspProcessDelete+0
跟wrk不一样的是,多了PspProcessOpen和PspProcessClose,其它的Procedure保持一致,改天再跟跟 nt!PspProcessOpen和nt!PspProcessClose看是怎么回事。
- windbg练习,连带发现win7的对象管理ObjectHeader有改变
- Android开发中相当便捷的JSON反序列化实现(含源代码) 连带有handler和进度条功能
- 连带目录结构复制文件的参数
- ScreenShot 连带鼠标的抓屏单元
- 无意间发现的有趣事
- 发现软件测试与IT管理有越来越多的相似点
- 无意中发现的WIN7的BUG
- windbg+vmware+win7 内核
- windbg+vmware+win7 内核
- windbg 调试 win7
- win7使用windbg调试
- windbg win7 本地调试
- WINDBG本地调试WIN7
- Win7 网络发现无法启用的解决方法
- R语言销售分析计算某商品的连带或连带率指标函数
- WINDBG本地调试WIN7需要注意的一些问题!
- 发现一个编程练习的地方
- Java面向对象练习-电话本管理系统
- mysql模式:master/slave
- HDU 1161(Eddy's mistakes )
- Follow with your heart 跟随心灵的引导
- VMware虚拟机配置Ubuntu上网——Bridged方式
- 十五周实验报告2:学会操作字符数组
- windbg练习,连带发现win7的对象管理ObjectHeader有改变
- Spring AOP的底层实现技术---JDK动态代理
- 十五周实验报告3:学会ASCII文件的操作
- http协议详解
- android 读取JSON数据(遍历JSONObject和JSONArray)
- 十六周实验报告1:学会冒泡排序算法
- Redis的部署使用文档
- android下可执行文件的真面目
- 第16周报告2(任务3):实验内容:求出一个数所有的奇数因子