看来呢, 是我自己来解决了。
这个是常规的方法的。用驱动办法来搞定啦。
这里有个例子,先用了。
其实这些大家应该都知道了, 但是,如何让程序自己一下从RING3进入RING0确实还是有点困难。希望高手能够给点指导。
#include "ntddk.h"
#include "string.h"
#ifndef DWORD
#define DWORD unsigned int
#endif
#ifndef WORD
#define WORD unsigned short
#endif
#define LOWORD(l) ((unsigned short)(unsigned int)(l))
#define HIWORD(l) ((unsigned short)((((unsigned int)(l)) >> 16) & 0xFFFF))
typedef unsigned long ULONG;
static NTSTATUS MydrvDispatch (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
VOID DriverUnload (IN PDRIVER_OBJECT pDriverObject);
#pragma pack(push,1)