首页
社区
课程
招聘
[求助]关于驱动读写其他进程地址空间的问题,让我郁闷很久了
发表于: 2009-12-14 13:01 4628

[求助]关于驱动读写其他进程地址空间的问题,让我郁闷很久了

2009-12-14 13:01
4628
我在驱动中想读Winlogo进程的地址空间,主要是想把kernel32.dll的内存映象全部拷贝下来,现在遇到一个很棘手的问题,我的系统是XP SP2,kernel32.dll的内存映象大小是0x110c00,基址是0x7c800000,当驱动读到0x7c82a000时系统崩溃,后来调试时发现,0x7c82a000这个地址处,竟然没有数据,因为WinDBG读不出数据了,而0x7c800000到0x7c829FFF都有数据,我也确定是kernel32.dll的数据.从0x7c82a000开始,这些内存页是不是被换出内存拉.不然怎么会读不出数据呢?

现在的问题是:如何把0x7c82a000这地址后面的数据全部读出来呢?看了一下Windows Internal 5的内存管理也没找到解决的方法......郁闷中!

希望懂的朋友能帮助我一下.........

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 7992
活跃值: (2566)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
CR3切换了没有?

内核下虽然可以对4GB内存有完全访问权。但不等于无效地址也可以访问。
2009-12-14 13:04
0
雪    币: 412
活跃值: (30)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
KeStackAttachProcess
2009-12-14 14:14
0
雪    币: 225
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我用PsCreateSystemThread在Winlogon.exe中创建了一个线程,这样就不用切换CR3或者KeStackAttachProcess.
2009-12-14 15:38
0
雪    币: 212
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
读用户太地址时Try包一下,如果异常了就一页一页的跳过。
2009-12-14 17:08
0
雪    币: 225
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果跳过了发生异常的内存,那怎么读出的kernel32.dll数据就不完整了,因为发生异常的地方是在kernel32.dll映象的范围内啊....
2009-12-14 17:47
0
雪    币: 225
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
自己顶一下....
2009-12-14 23:27
0
游客
登录 | 注册 方可回帖
返回
//