首页
社区
课程
招聘
[求助]天天学驱动之小菜题五:跨进程内存读取失败
发表于: 2011-2-3 09:02 4800

[求助]天天学驱动之小菜题五:跨进程内存读取失败

2011-2-3 09:02
4800
看雪地址 :http://bbs.pediy.com/showthread.php?t=92353

还原成汇编代码出现如下问题:
invoke RtlMoveMemory 后蓝屏

问题代码
        cli
        push eax
        mov eax,cr3
        mov oldcr3,eax
        mov eax,ecx
        mov cr3,eax
        pop eax
        sti
        mov eax,[edi][1*(sizeof DWORD)]
        invoke RtlMoveMemory,eax,offset ReadBuffer,4 
        cli
        mov eax,oldcr3
        mov cr3,eax
        sti

invoke RtlMoveMemory,eax,offset ReadBuffer,4  执行后蓝屏 蓝屏代码0X00007f  ,[edi][1*(sizeof DWORD)] 传入的是16进制00401000 EAX传入CR3的DirectoryTableBase地址测试过是正确的

高手指点下吧

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 163
活跃值: (75)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
关闭中断后,等开写保护时再开中断,要不然可能会有同步问题
2011-2-3 09:38
0
雪    币: 214
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
上面的代码不是清楚的写明是 关闭中断后,等开写保护时再开中断   还有进程切换后复制内存 没必要在开中断吧
2011-2-3 12:44
0
游客
登录 | 注册 方可回帖
返回
//