Chinaunix首页 | 论坛 | 博客
  • 博客访问: 342604
  • 博文数量: 97
  • 博客积分: 3996
  • 博客等级: 中校
  • 技术积分: 750
  • 用 户 组: 普通用户
  • 注册时间: 2005-05-24 22:27
文章分类

全部博文(97)

文章存档

2012年(1)

2011年(8)

2010年(5)

2008年(2)

2007年(26)

2006年(54)

2005年(1)

我的朋友

分类: WINDOWS

2006-08-31 11:22:43

部分未公开的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]
调用功能:可能与中断处理有关
阅读(1623) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~