-
-
[原创] 《软件调试》分页机制windbg例子分析(各种填坑)
-
发表于:
2018-9-11 03:04
9793
-
[原创] 《软件调试》分页机制windbg例子分析(各种填坑)
1. PAE问题,按照文章内容一步一步来,一直测试一直错,开始怀疑人生。继续读文章n遍,发现书中例子为“非PAE模式”,参考文章https://blog.csdn.net/lixiangminghate/article/details/54836188,将系统改为非PAE模式!!!
2. 文中关于物理内存访问相关内容使用的是ldk模式(本地内核调试),由于真机使用的win10,设置起来麻烦,直接双机调试,虚拟机程序为VBOX,虚拟机用的
winxp-sp3。这里需要对windbg有一定的了解!!!
3. 到了最后一步,通过PTE+offset访问物理内存的时候,发现内容全部为0。查看了PTE的flag,发现Present(是否在物理内存)标记为0,即不在内存中。感觉是放到文件系统了。解决方法是,让程序执行一些命令,再看
PTE,发现指向内存变更了,查看相应的内存,找到目标。
以上为奋斗n天的一点认识,希望大家互相讨论,如有纰漏,请指出,谢谢。
ps:
逻辑地址、虚拟地址
、线性地址和物理地址。关于这四个地址,发现有些资料不太一样。逻辑地址究竟是虚拟地址还是线性地址,求大神指教。
不过可以肯定的是:虚拟地址+段机制 ==> 线性地址;
线性地址+页机制 ==>物理地址。写代码只涉及到虚拟地址!!!其它为系统和CPU自动转换的。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课