能力值:
( LV2,RANK:10 )
|
-
-
2 楼
ntdll及其调用者(比如user32/kernel32)是在用户空间,ntoskrnl是在系统空间。
事实上没有什么api是不能拦截的,只是用户空间的比较容易拦截,系统空间的要困难点(特别是有补丁管理的系统,一拦截就蓝屏)。
一般人在用户态下拦截的话,一般都会对ntdll下手。所以只要有人愿意拦截,就没有所谓的“更安全一点”,反而调用起来更麻烦。
至于Zw和Nt的联系,最简单的说法就是用户模式下没区别,系统模式中Zw检查参数是否合理之后调用Nt。
在ntdll中(Zw/Nt)是系统函数,在ntoskrnl中也有(Zw/Nt),有些人称之为服务例程。调用顺序是函数最终会调用例程。这些东西在百度上一搜一大把。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
感谢回答
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
服务号表一般是直接从ntdll.dll里导出来的,一般都这么做,不同的版本,同一API,服务号是不一样的。
|
|
|