首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
编程技术
发新帖
1
0
[求助]关于内核重载一个不解的地方
发表于: 2014-11-26 08:49
5608
[求助]关于内核重载一个不解的地方
CPUZ
2014-11-26 08:49
5608
按我的理解,内核重载就是把NTOSKRNL.EXE读入,然后初始化映像,修复导入表,修复重定位表。但是感觉很多重要数据都没有初始化(DriverEntry应该没有被执行)。为什么调用新内核的API可以成功呢?我近日按照自己的理解重写了一份,发现执行字符串类API可以成功,执行系统相关API(比如NtCreateKey)就是失败。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
6
)
IamHuskar
雪 币:
1392
活跃值:
(5177)
能力值:
( LV13,RANK:240 )
在线值:
发帖
76
回帖
1662
粉丝
68
关注
私信
IamHuskar
4
2
楼
修复重定位表并不是按照你的新内核的加载位置重定位,而是按照老的内核的位置重定位,这样定位下来的全局变量都是老的初始化以后的。重载只是为了利用代码段而已。
2014-11-26 08:57
0
CPUZ
雪 币:
3
活跃值:
(13)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
28
粉丝
0
关注
私信
CPUZ
3
楼
谢谢你,知道原因了,已设置为最佳答案!本帖结束。
2014-11-26 09:06
0
CPUZ
雪 币:
3
活跃值:
(13)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
28
粉丝
0
关注
私信
CPUZ
4
楼
这么说的话,重载后虽然老内核里的INLINE HOOK无效了,但是用回调(比如注册表回调)的拦截依然有效,对吧?
2014-11-26 10:07
0
achillis
雪 币:
7651
活跃值:
(523)
能力值:
( LV9,RANK:610 )
在线值:
发帖
32
回帖
2032
粉丝
47
关注
私信
achillis
15
5
楼
回调函数的保存位置其实就是一个数组,既然是数据,那么按原基址重定位的话,数据依然是有效的,所以回调拦截依然有效~ 要想解决这个问题,可以针对性地对这些数据定向到新的内核里,这样原来的回调就全作废了
2014-11-26 12:22
0
Mr.hack
雪 币:
3310
活跃值:
(3908)
能力值:
( LV3,RANK:20 )
在线值:
发帖
25
回帖
138
粉丝
25
关注
私信
Mr.hack
6
楼
这样做感觉重载内核意义不大啊,全都重定位到老内核,怕是连代码都用的是老内核的。
2019-7-21 16:40
0
Mr.hack
雪 币:
3310
活跃值:
(3908)
能力值:
( LV3,RANK:20 )
在线值:
发帖
25
回帖
138
粉丝
25
关注
私信
Mr.hack
7
楼
分析一下PE重定位表发现相当一部分线性地址都是指向可执行的代码区,这不还是用了老内核的代码吗?
最后于
2019-7-21 16:42 被Mr.hack编辑 ,原因:
2019-7-21 16:40
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
CPUZ
3
发帖
28
回帖
10
RANK
关注
私信
他的文章
[求助]关于内核重载一个不解的地方
5609
[转帖]在Win64系统上动态加载无签名驱动:WIN64LUD
23016
[转帖]在Win64系统上动态加载无签名驱动:WIN64LUD
3967
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部