首页
社区
课程
招聘
关于Ke开头与Nt开头函数的一些疑问
2014-3-6 13:35 7010

关于Ke开头与Nt开头函数的一些疑问

2014-3-6 13:35
7010
之前这度娘上搜了一下。并非是直接莽撞的到这里发问。我的理解如下(可能是错误的哦,请纠正)。
1,nt开头函数是ntdll里导出的,很多三环程序通过ssdt 找到对应的zw函数然后最终调用nt函数。
2,ke函数是kernel的,是只给零环用的,但是系统也能用nt开头的函数。
3,因此 ke开头的函数比nt开头的更底层,nt函数依赖ke函数。
4,或者ke开头的函数与nt开头的函数一样底层,只不过给予的调用者不同。nt函数和ke函数自己都实现了自己,不存在调用关系。
求教。到底是怎么回事呢。。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (8)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
whnet 2014-3-6 14:17
2
0
第一条就错了。

第一条的前半句和后半句分别都是对的。但合在一起错了。

nt开头的函数在R3 R0 分别都有。 R3的是ntdll导出的。 但zw调用的是R0的nt函数。
雪    币: 22
活跃值: (536)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
AntiPsycho 2014-3-6 16:17
3
0
函数开头只是为了区分他们所在的模块。。。

Ke 开头应该代表内核中的核心层模块函数(内核分 执行体、内核层、HAL)
Nt 开头应该代表系统调用函数

说 hal 函数给 Ke调用、Ke 函数给 Ex函数调用还差不多。。。。
Ke 和 Nt 还真没什么直接联系。
雪    币: 24
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mudbee 2014-3-10 11:08
4
0
哎呀,原来如此啊。所谓三人成虎,再给我点回复吧。然后就结贴了。
雪    币: 24
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mudbee 2014-3-10 11:09
5
0
补充。那就是说 如果我hook了ke的XXX 那么 别人直接调用nt对应的XXX一样可以得到正确的结果,不会被我勾走,是这样吗?
雪    币: 24
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mudbee 2014-3-10 11:11
6
0
其实之所以由此发问,主要是在想,如果他们直接没有调用关系。那么如果要勾某一个函数,必须比他各个开头的函数都勾住才可以,否则肯定无效啊。求教。
雪    币: 78
活跃值: (1388)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Archar 2014-3-28 09:16
7
0
NT系列的函数是 系统(ntkrnlpa.exe)提供的服务函数,应用层通过调用 WIndows  中的NTDLL,里面的函数,间接的调用系统服务。
比如 在应用程序调用 CreateProcess,那么会是这样的。CreateProcess->ZwCreateProcess->KiSystemCall->KiFastCall(进入内核了)->NTCreateProcess.
至于Ke 和 Ex,那都是 系统内核才提供的函数,并没有导出,所以在应用层是没法使用的。至于关系,那也是没有的
Ex:管理层,Ex 是 Executive 的开头两个字母。
Ke:核心层,Ke 是 Kernel 的开头两个字母。

如果帮到你的话,希望采纳,我现在差2KX.谢谢!
雪    币: 11
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
aLevel 2014-3-29 09:31
8
0
接分~~~
雪    币: 1792
活跃值: (5194)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
PEDIY 2022-7-30 07:31
9
0
Archar NT系列的函数是 系统(ntkrnlpa.exe)提供的服务函数,应用层通过调用 WIndows  中的NTDLL,里面的函数,间接的调用系统服务。 比如 在应用 ...
㈠如果是ke和ki的同名函数, 哪个更底层?最终调用ke还是ki?
㈡ki是哪个单词的开头?
游客
登录 | 注册 方可回帖
返回