首页
社区
课程
招聘
未解决 [求助]驱动CR3跨进程读写,奇怪的现象
发表于: 2020-10-31 12:54 3230

未解决 [求助]驱动CR3跨进程读写,奇怪的现象

2020-10-31 12:54
3230
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
VOID KWriteProcessMemory(PEPROCESS Process, PVOID Address, ULONG Length, PVOID Buffer)
{
    PVOID Pdt = Getpdt(Process);
    PVOID oldpdt;
    KIRQL irql;
 
    irql = WPOFF();
    //_disable();
    oldpdt = (PVOID)__readcr3();
    __writecr3(Pdt);
    //_enable();
 
    __try {
        ProbeForRead(Address, Length, 1);
        RtlCopyMemory(Address, Buffer, Length);
    }
    __except (1) {
        DbgPrint("WriteProcessMem Rrror!");
    }
 
 
    //_disable();
    __writecr3(oldpdt);
    //_enable();
    WPON(irql);
}

测试是在WIN7 64下,想32位的进程00401000的地址写入数据

 

如果不关保护的话会引起蓝屏,关掉保护强制写入后就出现了一个怪事了。。。

 

写入倒是值正确的写入了,可关掉进程重新打开地址还是上次写入的数据。。
更奇怪的事把文件名改了再打开还是一样。。。。但是把文件从新复制一遍到虚拟机就刷新了,这是咋回事啊??


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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 14
活跃值: (948)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
占坑了,win7获取nt函数改保护写
2020-12-15 14:12
0
游客
登录 | 注册 方可回帖
返回
//