进入windows核心态的通用方法

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值