进入windows核心态的通用方法

发表于:2007-07-01来源:作者:点击数: 标签:
ring0一直是 程序员 大家的一个目标,由于其相当的复杂 性,对大部分人来说,这不是一件很容易的事。使用vxd 和vmd更加不容易。这里给出了一些东东,希望有所裨益。 这里引用了一个WinIo Libraray,它主要由8个函数构成 1、bool _s td call InitializeWinIo()

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的连接:


原文转自:http://www.ltesting.net