部分未公开的Windows 2000核心功能调用
这些未公开的Windows 2000核心功能调用(Windows NT 4.0一般也可以调用)是针对Intel 80386(I386)以上CPU的,没有移植性,可能是微软公司不公开这些调用的原因。
这些调用一般以Ke386或者KeI386开头,部分调用相当有用,笔者只分析了一部分调用的
函数原型,以后再分析余下的调用。
1、Ke386SetIoAccessMap
函数原型:void Ke386SetIoAccessMap(int, IOPM *);
引出符号:[email=_Ke386SetIoAccessMap@8]_Ke386SetIoAccessMap@8[/email]
2、Ke386QueryIoAccessMap
函数原型:void Ke386QueryIoAccessMap(int, IOPM *);
引出符号:[email=_Ke386QueryIoAccessMap@8]_Ke386QueryIoAccessMap@8[/email]
3、Ke386IoSetAccessProcess
函数原型:void Ke386IoSetAccessProcess(PEPROCESS, int);
引出符号:[email=_Ke386IoSetAccessProcess@8]_Ke386IoSetAccessProcess@8[/email]
以上3个调用可以让NT/2000像Windows 95/98一样在Ring 3随意通过in/out指令实现
硬件I/O,具体使用方法笔者将在后续文章中说明。
4、Ke386CallBios
函数原型:不详
引出符号:[email=_Ke386CallBios@8]_Ke386CallBios@8[/email]
调用功能:可能是BIOS功能调用
5、KeI386SetGdtSelector
函数原型:NTSTATUS KeI386SetGdtSelector(IN ULONG sels, IN PVOID desc);
引出符号:[email=_KeI386SetGdtSelector@8]_KeI386SetGdtSelector@8[/email]
调用功能:设置一个全局描述符
6、KeI386ReleaseLid
函数原型:不详
引出符号:[email=_KeI386ReleaseLid@8]_KeI386ReleaseLid@8[/email]
调用功能:不详
7、KeI386ReleaseGdtSelectors
函数原型:NTSTATUS KeI386ReleaseGdtSelectors(OUT PUSHORT SelArray, IN int Nu
mOfSelectors);
引出符号:[email=_KeI386ReleaseGdtSelectors@8]_KeI386ReleaseGdtSelectors@8[/email]
调用功能:释放一个全局描述符
8、KeI386MachineType
函数原型:不详
引出符号:_KeI386MachineType
调用功能:可能是取得计算机(CPU)的类型
9、KeI386GetLid
函数原型:不详
引出符号:[email=_KeI386GetLid@20]_KeI386GetLid@20[/email]
调用功能:不详
10、KeI386FlatToGdtSelector
函数原型:不详
引出符号:[email=_KeI386FlatToGdtSelector@12]_KeI386FlatToGdtSelector@12[/email]
调用功能:可能与内存地址变换有关
11、KeI386Call16BitFunction
函数原型:不详
引出符号:[email=_KeI386Call16BitFunction@4]_KeI386Call16BitFunction@4[/email]
调用功能:可能与调用16位代码有关
12、KeI386Call16BitCStyleFunction
函数原型:不详
引出符号:[email=_KeI386Call16BitCStyleFunction@16]_KeI386Call16BitCStyleFunction@16[/email]
调用功能:可能与调用16位代码有关
13、KeI386AllocateGdtSelectors
函数原型:NTSTATUS KeI386AllocateGdtSelectors(OUT PUSHORT SelArray, IN int N
umOfSelectors);
引出符号:[email=_KeI386AllocateGdtSelectors@8]_KeI386AllocateGdtSelectors@8[/email]
调用功能:分配一个全局描述符
该功能与KeI386SetGdtSelector功能、KeI386ReleaseGdtSelectors功能配合使用,可以
修改GDT,从而可以定义自己的调用门,进入真正的NT Ring 0层,从而可以直接修改GD
T、IDT、LDT,直接访问全部内存和全部硬件,功能极其强大。
14、KeI386AbiosCall
函数原型:不详
引出符号:[email=_KeI386AbiosCall@16]_KeI386AbiosCall@16[/email]
调用功能:可能与BIOS功能调用有关
15、Kii386SpinOnSpinLock
函数原型:不详
引出符号:[email=Kii386SpinOnSpinLock@8]Kii386SpinOnSpinLock@8[/email]
调用功能:不详
16、Kei386EoiHelper
函数原型:不详
引出符号:[email=Kei386EoiHelper@0]Kei386EoiHelper@0[/email]
调用功能:可能与中断处理有关
阅读(1661) | 评论(0) | 转发(0) |