首页
社区
课程
招聘
[原创]另一种读写进程内存空间的方法
发表于: 2008-5-16 17:16 61899

[原创]另一种读写进程内存空间的方法

2008-5-16 17:16
61899

cc682
http://netroc682.spaces.live.com/
    丢一个比较难防的读写其他进程内存空间的方法出来,嘿嘿。貌似我还没想到什么好办法可以防住的。
    内存空间不能跨进程访问的原因主要在于不同进程都有自己的页目录和页表。进程切换的很大一块也就是切换掉页目录。
    Windows自己的ReadProcessMemory最终也是通过KeStackAttachProcess附加到目标进程空间执行拷贝的。但是中间的N个内核函数调用现在被很多保护系统Hook掉并保护起来了,所以要通过这层层关卡读到东西还是不那么简单的。Unhook?自己实现内核函数?都很麻烦。
    其实,仅仅是需要拿到目标进程的页目录,然后直接从目标地址拷贝出来而已,完全可以用简单得多的办法来达到这个目的。
    所有的XXAttachProcess函数最终都通过_KiSwapProcess切换进程环境,_KiSwapProcess中会将目标进程的页目录指针放入CR3。这个过程我们可以自己来实现,唯一需要的就是拿到目标进程的EPROCESS而已,而这有无数种方法可以达到。整个过程基本上没有能当作非正常访问的证据以阻止掉的。
    首先来看一下几个内核结构:
    每个进程都有一个内核里面的进程结构_EPROCESS,前面几个字段如下:

typedef struct _EPROCESS {
    KPROCESS Pcb;
    EX_PUSH_LOCK ProcessLock;
……
typedef struct _KPROCESS {
    DISPATCHER_HEADER Header;
    LIST_ENTRY ProfileListHead;
    ULONG_PTR DirectoryTableBase[2];
……

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (66)
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
2
这不是肯德基
2008-5-16 17:22
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
3
不会说肯德基 ,只有顶。
2008-5-16 17:54
0
雪    币: 288
活跃值: (112)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
4
强,顶。。。。
2008-5-16 19:10
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
强....烈学习...
2008-5-16 19:31
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
汗.....
2008-5-16 21:52
0
雪    币: 1946
活跃值: (248)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
7
这不是肯德基~~这不是肯德基~~
2008-5-16 21:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这种方法很好
2008-5-17 06:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这是麦当劳
2008-5-17 07:35
0
雪    币: 223
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
这也不是麦当劳
2008-5-17 08:23
0
雪    币: 451
活跃值: (78)
能力值: ( LV12,RANK:470 )
在线值:
发帖
回帖
粉丝
11
那这是啥呢
2008-5-17 08:28
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
12
hook int 14 模仿 armadillo 的 copymemII,直接改cr3就找不到了
2008-5-17 13:04
0
雪    币: 108
活跃值: (141)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
13
内核里面,没有谁更利害,只有谁更变态。这种较量最后吃亏的总是正常软件。
挂Trap0E是很危险滴,搞你的办法也是多多滴,嘿嘿
2008-5-17 16:56
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
14
你搞不了我,我不懂内核,内核都是大牛玩的,我也不会写驱动,不给你机会搞我。哦也。
2008-5-17 19:09
0
雪    币: 1946
活跃值: (248)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
15
我也来加一个哦也
2008-5-17 19:33
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
16
很强悍,学习。
2008-5-17 21:27
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
17
我是外星人,哦耶
2008-5-17 22:25
0
雪    币: 202
活跃值: (151)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
妈妈说咱啃不起!

感谢楼主!
2008-5-17 23:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
好东西 收下~
2008-5-19 08:38
0
雪    币: 215
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
我加2个"哦也"
2008-5-19 10:08
0
雪    币: 2134
活跃值: (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
21
说了就做,学习一个
2008-5-19 11:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
这样写得控制好中断
2008-5-19 17:06
0
雪    币: 199
活跃值: (17)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
23
俺也来一个:哦也  ---  收藏了!
2008-5-19 19:44
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
很容易蓝屏的吧
2008-5-19 20:02
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
膜拜中 。。。
2008-5-20 01:55
0
游客
登录 | 注册 方可回帖
返回
//