首页
社区
课程
招聘
[讨论]内核映射win32k.sys的疑惑
发表于: 2010-6-18 00:09 5445

[讨论]内核映射win32k.sys的疑惑

2010-6-18 00:09
5445
为了方便重定位,我用内存映射的方法在内核映射一份win32进来,可是让我十分不解的是,Xp系统下好像只是简单的把内存中已经存在的那一份映射近我的进程,根本就没有使用硬盘上的那个版本,不知道大家遇到过没有,实现映射的代码可以保证是正确的,并且发现,使用同样代码映射一份系统内核却又没有使用内存里已经存在的那个版本,而是使用硬盘上的文件。不知道到底是什么原因导致win32.sys映射不到硬盘上的版本,难道是因为win32k.sys映射在了PE头的ImageBase地址,所以有其它进程在次映射时,系统会去那个ImgeBase检查是否存在,存在的话就不读文件来映射,(因为系统内核没映射到ImageBase所以在次映射时就去读文件去了),不知道是否有大牛来给一个比较完整的解释

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
无论哪个文件都是一样的,被当成DataSection 或ImageSection后,再创建就会找到原来已经存在的Section,看createsection过程就可以看到了
2010-6-18 10:33
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
因为win32k在SessionSpace中,所以不要用Map了,Read吧~~
2010-6-18 10:35
0
雪    币: 229
活跃值: (488)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
4
直接readfile 解析pe结构
2010-6-18 10:40
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
膜拜下~~洗洗~~
2010-6-19 22:32
0
雪    币: 284
活跃值: (106)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
6
这个问题最后发现,常见的其它几个模块都不会使用内存已经存在的镜像,如nt内核文件,ntfs文件,fastfat文件,等等,居然只有在xp下的win32k有那种问题,Windows7下win32k也不会使用内存镜像,我又特地看了一下reactos0.3.11的CreateSection实现,发现这个是判断FileObject里面的SecionObjectPointer,但是很显然Windows这个问题处理上不像reactos那样简单啊……
2010-6-19 22:59
0
游客
登录 | 注册 方可回帖
返回
//