首页
社区
课程
招聘
[原创]利用内核知识,自己实现ReadProcessMemory
发表于: 2018-2-3 23:55 32278

[原创]利用内核知识,自己实现ReadProcessMemory

2018-2-3 23:55
32278
收藏
免费 3
支持
分享
最新回复 (46)
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
TP的CR3是假的,从根本上解决这种读写了
2018-4-18 12:54
0
雪    币: 4154
活跃值: (1535)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
27
看不懂啊,努力学吧
2018-4-19 10:07
0
雪    币: 0
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
切换了cr3之后你代码里与地址有关的部分其实都有可能出错。比如你切换前后,函数调用栈ss:esp对应的栈内存都可能不是同一块区域了,因为栈的线性地址可能映射到另一块物理内存去了。
2018-4-22 20:44
0
雪    币: 73
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
其实可以不用切CR3就能读任何进程的内存,在64位环境下比32位环境下更加方便,我最近有空时候正在整理这个代码,不过人比较懒还没有完工而已,到时候给大家分享下我的工程
2018-4-29 07:20
0
雪    币: 6314
活跃值: (952)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
30
先mark一波,以后来学习
2018-5-14 17:39
0
雪    币: 210
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
char*  szRing0Buf  =  (char*)MmAllocateNonCachedMemory(dwBufSize);
从cr3切换回来后,这里的虚拟地址指向的物理地址不应该也会变化吗?有点不理解  求解答。。。
2018-6-22 18:31
0
雪    币: 12848
活跃值: (9143)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
32
除Session  Space外,所有内核内存的虚拟地址映射(比如你说的MmAllocateNonCachedMemory分配的内存),在所有进程的页表上都是一样的(前提是不启用页表隔离机制)
2018-6-23 12:50
0
雪    币: 210
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
hzqst 除Session Space外,所有内核内存的虚拟地址映射(比如你说的MmAllocateNonCachedMemory分配的内存),在所有进程的页表上都是一样的(前提是不启用页表隔离机制)
谢谢大佬解答
2018-6-23 18:08
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
谢谢  学习了    谢谢
2018-6-23 22:27
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
2018-7-28 13:22
0
雪    币: 328
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
mark一下
2018-10-9 12:32
0
雪    币: 1
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
曾逆向过一个杀进程工具,是利用某签名驱动读写物理内存的IoControl给自己LimitQuery权限的进程句柄提高访问权限,从而达到杀进程目的。
2019-3-13 22:23
0
雪    币: 3535
活跃值: (1353)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
38
mark
2019-3-27 10:51
0
雪    币: 60
活跃值: (89)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
好六的教程
2019-3-27 22:23
0
雪    币: 1570
活跃值: (383)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
40
向大佬学习
2019-3-30 10:14
0
雪    币: 367
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
41
你这个办法碰到缺页问题就炸了,KeAttachProcess()的底层实现不止一个切换CR3
2019-11-11 17:28
0
雪    币: 207
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
农村小伙 TP的CR3是假的,从根本上解决这种读写了
请问TP的CR3是假的,那他自己该怎么访问内存呢?小白不懂
2020-2-26 17:07
0
雪    币: 8700
活跃值: (5175)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
43
切换CR3之后,调用MmAllocateNonCachedMemory(dwBufSize); 分配在还原回CR3还能访问吗?
2020-2-26 19:40
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
44
2020-2-26 21:03
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
45
对TP无效吗?
2020-4-4 20:27
0
雪    币: 515
活跃值: (3227)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wem
46
mark
2020-5-3 01:04
0
雪    币: 21
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
mark
2020-11-11 23:54
0
游客
登录 | 注册 方可回帖
返回
//