进入windows核心态的通用方法

类别:VC语言 点击:0 评论:0 推荐:

ring0一直是程序员大家的一个目标,由于其相当的复杂

性,对大部分人来说,这不是一件很容易的事。使用vxd

和vmd更加不容易。这里给出了一些东东,希望有所裨益。

     这里引用了一个WinIo Libraray,它主要由8个函数构成

1、bool _stdcall InitializeWinIo()

2、void _stdcall ShutdownWinIo()

3、bool _stdcall GetPortVal(WORD wPortAddr, PDWORD pdwPortVal, BYTE bSize);

4、bool _stdcall SetPortVal(WORD wPortAddr, DWORD dwPortVal, BYTE bSize);

5、PBYTE _stdcall MapPhysToLin(PBYTE pbPhysAddr, DWORD dwPhysSize, HANDLE *pPhysicalMemoryHandle)

6、bool _stdcall UnmapPhysicalMemory(HANDLE PhysicalMemoryHandle, PBYTE pbLinAddr)

7、bool _stdcall GetPhysLong(PBYTE pbPhysAddr, PDWORD pdwPhysVal);

8、bool _stdcall SetPhysLong(PBYTE pbPhysAddr, DWORD dwPhysVal);

    一看就知道意思,我就不哆嗦了,

而对GDT,LDT或IDT的操作,随便一本WIN32的书

都有介绍,相信对大家不是难事。

给出WinIO libraray的连接:WIN LIB

本文地址:http://com.8s8s.com/it/it1376.htm