Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: 一鱼之歌   发起时间: 2009-02-18 14:15 下午   回复: 2

Print Search
帖子排序:    
   2009-02-18, 14:15 下午
vincent 离线,最后访问时间: 2009/9/8 11:10:53 一鱼之歌

发帖数前25位
注册: 2009-02-10
发 贴: 36
关于页面属性的几点疑惑,百思不得其解!!求助
Reply Quote
以下是我的实验:

1,使用windbg命令!pte 77d10000(user32.dll基址),发现其中的copy-on-write(bit9)位为0,

疑惑,user32是受内存映射文件支持的,并为系统所有程序共享,可以肯定user32是受c-o-w保护的

只是不知道为什么没有设置这个位!

2,根据widnows核心编程中描述,PE文件中的section如果设置了共享位,那就可以有效的关闭c-o-w保护

于是,我写了个dll程序,让windbg加载(因为我不懂用windbg切换进程空间),并另外写了一个section,当这个section设置为RWS的时候

用!pte xxxxxxx(这个xxxxxx是这个section的起始地址,这个不会错,因为我查看里面的值我和程序的一样)

发现这个时候 bit9 确实为0,表示关闭了c-o-w保护,原本觉得很合理。照理的话,如果区段section为RW属性时

那应该bit9为1,没错,对我这个dll程序的这个区段确实是这样,但令我惊奇的是程序本身的其它section 如.rdata

(用工具查看,其属性和我自写的secion属性为RW时一致),我用!pte yyyyyy这个yyyy是rdata的起始地址,发现它们的bit9并没有置1


这个现象和user32.dll一样。那我就晕了,我自己写的section和程序本身的section属性一样,但我的bit9为1,而程序本身的却为0

完!
==============================

这里面应该怎么解释,把windows核心编程和windows internal内存那几节看几遍了,NND。

其中核心编程一书中的vmmap遍历整个地址空间,确实显示系统的dll里面有写时复制属性,不过是用API查询的,

IP 地址: 已记录   报告
   2009-02-19, 15:38 下午
vincent 离线,最后访问时间: 2009/9/8 11:10:53 一鱼之歌

发帖数前25位
注册: 2009-02-10
发 贴: 36
Re: 关于页面属性的几点疑惑,百思不得其解!!求助
Reply Quote
这属性还真有点迷惑。我用virtualProtectex把页属性修改为PAGE_READWRITE的时候

竟然PTE就标上Copy-on-write的标记!!
IP 地址: 已记录   报告
   2009-02-19, 15:57 下午
vincent 离线,最后访问时间: 2009/9/8 11:10:53 一鱼之歌

发帖数前25位
注册: 2009-02-10
发 贴: 36
Re: 关于页面属性的几点疑惑,百思不得其解!!求助
Reply Quote
但是呢,我用windows核心编程那个14章节的vmmap例子测试,发现他里面那个地址却没有这个标志位,说明它用的API查找的属性并不是查询这一位。


http://hiphotos.baidu.com/mr_littlefish/pic/item/c0b7e2267c5eba23908f9d30.jpeg

IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » 关于页面属性的几点疑惑,百思不得其解!!求助

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.