首页
社区
课程
招聘
[讨论]关于“内核重载”的一些疑问,求大佬解答
发表于: 2019-7-16 18:34 2120

[讨论]关于“内核重载”的一些疑问,求大佬解答

2019-7-16 18:34
2120
最近在搞内核重载,先说一下我的思路:

1.把内核主模块ntkrnlpa.exe(虚拟机装的win7系统,2-9-9-12分页,单核CPU)按照节表给出的信息在内存中拉伸成可执行状态的Image;
2.修复重定位表;
3.修复导入地址表;
4.修改原来内核的SSDT表的API地址表和API参数字节表这两项,把它们设置成为指向新内核的SSDT API地址表和新内核的SSDT 参数字节数表,KeServiceDescriptorTableShdow里的AP没有修改还是让他们走老内核;

可是重载失败了,直接蓝屏,看了网上关于内核重载的一些做法发现他们只是让指定的进程指定的API走新内核,并不是让新内核完全接管老内核的工作,难道是我理解错了?内核重载只能让自己指定的进程指定的API走新内核?并不能完全取代老内核?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 203
活跃值: (1069)
能力值: ( LV9,RANK:195 )
在线值:
发帖
回帖
粉丝
2
初始化的内核对象怎么办,API访问的对象都是互相牵连的,更别说windows喜欢用链表贯穿。
2019-7-16 18:44
0
雪    币: 3263
活跃值: (3853)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
palkiver 初始化的内核对象怎么办,API访问的对象都是互相牵连的,更别说windows喜欢用链表贯穿。
也就是说并不能真正取代老内核?只能让自己指定的进程指定的API走新内核??
2019-7-16 18:49
0
雪    币: 1790
活跃值: (3766)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
2.修复重定位表;  这个怎么修的?指向原内核数据区还是展开的IMANG自己的数据区?
2019-7-16 18:55
0
雪    币: 3263
活跃值: (3853)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
拍拖 2.修复重定位表; 这个怎么修的?指向原内核数据区还是展开的IMANG自己的数据区?
我试了两种修复方案,1.按照重定位表正常修复;2.判断要修复的地址指向的是数据还是代码,如果是数据就把这个地址重定位到老内核,也就是使用老内核的数据,如果是指向代码就重定位到新内核使用新内核的代码。两种方案都失败蓝屏了
2019-7-16 19:03
0
雪    币: 1790
活跃值: (3766)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
你说的太模糊了。 蓝屏截图可以发下。建议你做下面方法定位下:1、你重载完成后只替换一个SSDT表项(不被软件频繁访问的,然后自己调用下看看会不会蓝)
2019-7-17 09:37
0
游客
登录 | 注册 方可回帖
返回
//