MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
阅读:2648回复:16

关于内存有效性验证的问题

楼主#
更多 发布于:2007-07-06 22:55
lkd> u F9838A8F
f9838a8f ??              ???
              ^ Memory access error in 'u F9838A8F'


F9838A8F这个地址用MmIsAddressValid验证返回TRUE

这类地址如何进行读取前的验证呢?

请各位大牛指点,谢谢~
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-10 18:02
汗~没人知道么? 这种有地址,但一读取就蓝的地方咋整呢?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-07-10 21:55
获得其物理地址,然后重新影射到你自己的空间,锁定后访问。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
地板#
发布于:2007-07-10 22:32
LockPages才可靠~~
驱动开发者 呵呵
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-07-10 22:37
谢谢WOW,不过,我要的是对内存的有效性进行检验,如果无效就跳过这段内存了,并不是要读取里面的数据~~还有其它方法没?
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2007-07-11 11:58
ProbeForRead/ProbeForWrite
驱动开发者 呵呵
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-07-11 16:06
谢谢WQXNETQIQI,我去试试~
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-07-11 17:26
我查了一下资料,ProbeForRead/ProbeForWrite好像不能用于内核地址的验证啊?~实际试了一下儿也是立即蓝屏~
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2007-07-12 10:11
1.把!pte address的结果贴上来
2.把蓝屏文件的!analyze -v的结果贴上来
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-07-12 11:01
lkd> dd fa8648ab
fa8648ab  ???????? ???????? ???????? ????????
fa8648bb  ???????? ???????? ???????? ????????
fa8648cb  ???????? ???????? ???????? ????????


lkd> !pte fa8648ab
               VA fa8648ab
PDE at   C0300FA8        PTE at C03EA190
contains 0101A163      contains 00000000
pfn 101a -G-DA--KWEV    

____________________________

谢谢版主回复~~
蓝屏只是在用ProbeForRead时蓝的屏~
我的目的只是想知道这个地址是否有效可读的~
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
10楼#
发布于:2007-07-12 11:19
1.ProbeFroRead只适用于对于2g以下的用户态地址的有效性进行检查,而且外面要加try-except,不适合你这种情况
2.你的pte内容为0,MmIsAddressValid不应该为true,你确认MmIsAddressValid返回true?
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-07-12 18:35
是的,我用MmIsAddressValid试过了,返回值是:C03EA100
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
12楼#
发布于:2007-07-12 20:30
MmIsAddressValid返回的boolean,你c03ea100是什么?如果看最低8位就是0,就是false.哪里来的true?
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-07-12 20:50
     

狂晕一把~~~
原来如此~~~
我用的是汇编,判断的是eax的寄存器值~~汗~~原来是要判断低8位~
不知道还有哪些函数是判断低8位的~~晕死了~~~
 
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-07-12 20:51
万分感谢版主~~汗~~程序居然一直没怎么出问题~~我得改一改去~
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
15楼#
发布于:2007-07-13 16:26
哎,亏你还用汇编写程序,犯那么低级的错误,真丢我们汇编一族的脸啊,嘿嘿......
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-07-14 11:54
引用第15楼wowocock于2007-07-13 16:26发表的  :
哎,亏你还用汇编写程序,犯那么低级的错误,真丢我们汇编一族的脸啊,嘿嘿......



呵~~~丢人啦~~ 当初选择汇编就是因为烦C中的那一大堆数据类型~~汗~~没想到,还是陷在了这里~
游客

返回顶部