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

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

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

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
第一条就错了。

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

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

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

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

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