首页
社区
课程
招聘
[求助]驱动中写游戏进程内存(恢得应用层钩子)
发表于: 2015-11-25 11:14 6335

[求助]驱动中写游戏进程内存(恢得应用层钩子)

2015-11-25 11:14
6335
win7 64位,TP,天刀……我在驱动中定到DbgUiRemoteBreakin函数的地址了

void KWriteProcessMemory(IN PEPROCESS Process, IN PVOID Address, IN UINT32 Length, IN PVOID Buffer)
{
        ULONG64 pDTB=0,OldCr3=0,vAddr=0;
        //Get DTB
        pDTB=Get64bitValue((UCHAR*)Process + DIRECTORY_TABLE_BASE);
        if(pDTB==0)
        {
                DbgPrint("[x64Drv] Can not get PDT");
                return;
        }
        //Record old cr3 and set new cr3
        _disable();
        OldCr3=__readcr3();
        __writecr3(pDTB);
        _enable();
        //Read process memory
        if(MmIsAddressValid(Address))
        {
                RtlCopyMemory(Address,Buffer,Length);
                DbgPrint("[x64Drv] Date wrote.");
        }
        //Restore old cr3
        _disable();
        __writecr3(OldCr3);
        _enable();
}

驱动中写游戏进程内存(恢得应用层钩子)我用上面哪个写法还是蓝。。有什么好建议不?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 39
活跃值: (57)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶一下
2015-11-29 22:52
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼主解决了这个问题没,我也遇到了这个问题。try,catch试了几次之后,我发现修改R3程序的数据段不会C0000005,但是代码段就要出问题。然后由此我估计是因为R3你要修改的地址所在的页属性是不可写的。
这里我想问一下,R0中哪个函数可以直接修改R3的页面权限的?
2016-3-12 16:22
0
游客
登录 | 注册 方可回帖
返回