首页
社区
课程
招聘
[求助][求助]Ring0下读内存问题
发表于: 2011-3-4 22:03 5884

[求助][求助]Ring0下读内存问题

2011-3-4 22:03
5884
学习驱动,本想读取每个系统模块的PE头看看.sys和.DLL有什么不一样。结果读到一个叫TSDDD.DLL的系统模块时,本想从基址直接读入DOS头的0x40个字节看看,结果蓝屏,没找到原因。我是Win7系统。读入地址一般是:0x96XXXXXX,为TSDDD.DLL的模块基址。
前面已经正确读出107个了。这个是第108个,却蓝屏。我菜,Ring0调试基本不懂,大侠帮忙指导一下,能不能帮着找找原因?谢谢。
下面是Ring0经Ring3的DeviceIoControl读指定核心地址的代码。

        ULONG code = stack->Parameters.DeviceIoControl.IoControlCode;
        //得到系统缓冲区指针
        Buffer = (PULONG)pIrp->AssociatedIrp.SystemBuffer;       

        ULONG info = 0;
        switch (code)
        {
                case MEM_R:                //读内核内存
                        if (cbin == 4)
                        {
                                ntStatus = STATUS_SUCCESS;
                                info = cbout;
                                RtlMoveMemory((PUCHAR)Buffer,(PUCHAR)*Buffer,info);
                        }
                        break;

网上搜了下,这个TSDDD.dll大约是什么显卡的驱动。

会的帮帮,一起想知道原因的,帮着顶顶。

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 207
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
刚才用WINDBG看了下TSDDD模块的内存,结果如下,也是不可读,
0:005> d 96e10000
96e10000  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
96e10010  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
96e10020  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
96e10030  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
96e10040  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
96e10050  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
96e10060  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
96e10070  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????

请问如何判断R0内存不可读呢?
2011-3-4 22:17
0
雪    币: 35
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
购买一年的驱动程序保护壳   我告诉你原因
2011-3-4 22:23
0
雪    币: 207
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
哥,俺穷,学习中,挣钱了买了壳才有用。
2011-3-4 22:27
0
雪    币: 232
活跃值: (105)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
5
没附加到那个进程
先用keattachprocess附加上去
2011-3-4 23:09
0
雪    币: 207
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
那是个显卡驱动的模块。。。。我不知道怎么附加上去。
现在找到了解决办法,就是写代码判断内存读写权限,只是。。。。我不明白,为什么一个系统模块的基址不可读呢?而其他大部分又是可读的。
2011-3-4 23:30
0
雪    币: 85
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
关注中。。我也不懂
2011-3-4 23:40
0
游客
登录 | 注册 方可回帖
返回
//