亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pmdll.cpp

?? 訪問物理內存、端口和PCI配置空間
?? CPP
字號:
/*++
PhyMem Driver
Ver: 1.0
Author: akui
Date: 2009/3/5
--*/

#include <windows.h>
#include <winioctl.h>
#include "pmdll.h"
#include "phymem.h"

HANDLE hDriver=INVALID_HANDLE_VALUE;

BOOL InstallDriver(PCSTR pszDriverPath, PCSTR pszDriverName);
BOOL RemoveDriver(PCSTR pszDriverName);
BOOL StartDriver(PCSTR pszDriverName);
BOOL StopDriver(PCSTR pszDriverName);

//get driver(phymem.sys) full path
static BOOL GetDriverPath(PSTR szDriverPath)
{
	PSTR pszSlash;

	if (!GetModuleFileName(GetModuleHandle(NULL), szDriverPath, MAX_PATH))
		return FALSE;

	pszSlash=strrchr(szDriverPath, '\\');

	if (pszSlash)
		pszSlash[1]='\0';
	else
		return FALSE;

	return TRUE;
}

//install and start driver
BOOL LoadPhyMemDriver()
{
	BOOL bResult;
	CHAR szDriverPath[MAX_PATH];

	hDriver=CreateFile( "\\\\.\\PhyMem",
						GENERIC_READ|GENERIC_WRITE,
						0,
						NULL,
						OPEN_EXISTING,
						FILE_ATTRIBUTE_NORMAL,
						NULL);

	//If the driver is not running, install it
	if (hDriver==INVALID_HANDLE_VALUE)
	{
		GetDriverPath(szDriverPath);
		strcat(szDriverPath, "phymem.sys");

		bResult=InstallDriver(szDriverPath, "PHYMEM");

		if (!bResult)
			return FALSE;

		bResult=StartDriver("PHYMEM");

		if (!bResult)
			return FALSE;

		hDriver=CreateFile( "\\\\.\\PhyMem",
							GENERIC_READ | GENERIC_WRITE,
							0,
							NULL,
							OPEN_EXISTING,
							FILE_ATTRIBUTE_NORMAL,
							NULL);

		if (hDriver==INVALID_HANDLE_VALUE)
			return FALSE;
	}

	return TRUE;
}

//stop and remove driver
VOID UnloadPhyMemDriver()
{
	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		CloseHandle(hDriver);
		hDriver=INVALID_HANDLE_VALUE;
	}

	RemoveDriver("PHYMEM");
}

//map physical memory to user space
PVOID MapPhyMem(DWORD phyAddr, DWORD memSize)
{
	PVOID pVirAddr=NULL;	//mapped virtual addr
	PHYMEM_MEM pm;
	DWORD dwBytes=0;
	BOOL bRet=FALSE;

	pm.pvAddr=(PVOID)phyAddr;	//physical address
	pm.dwSize=memSize;	//memory size

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		bRet=DeviceIoControl(hDriver, IOCTL_PHYMEM_MAP, &pm,
			sizeof(PHYMEM_MEM), &pVirAddr, sizeof(PVOID), &dwBytes, NULL);
	}

	if (bRet && dwBytes==sizeof(PVOID))
		return pVirAddr;
	else
		return NULL;
}

//unmap memory
VOID UnmapPhyMem(PVOID pVirAddr, DWORD memSize)
{
	PHYMEM_MEM pm;
	DWORD dwBytes=0;

	pm.pvAddr=pVirAddr;	//virtual address
	pm.dwSize=memSize;	//memory size

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		DeviceIoControl(hDriver, IOCTL_PHYMEM_UNMAP, &pm,
			sizeof(PHYMEM_MEM), NULL, 0, &dwBytes, NULL);
	}
}

//read 1 byte from port
BYTE ReadPortByte(WORD portAddr)
{
	PHYMEM_PORT pp;
	DWORD pv=0;	//returned port value
	DWORD dwBytes;

	pp.dwPort=portAddr;
	pp.dwSize=1;	//1 byte

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		DeviceIoControl(hDriver, IOCTL_PHYMEM_GETPORT, &pp,
			sizeof(PHYMEM_PORT), &pv, sizeof(DWORD), &dwBytes, NULL);
	}

	return (BYTE)pv;
}

//read 2 bytes from port
WORD ReadPortWord(WORD portAddr)
{
	PHYMEM_PORT pp;
	DWORD pv=0;	//returned port value
	DWORD dwBytes;

	pp.dwPort=portAddr;
	pp.dwSize=2;	//2 bytes

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		DeviceIoControl(hDriver, IOCTL_PHYMEM_GETPORT, &pp,
			sizeof(PHYMEM_PORT), &pv, sizeof(DWORD), &dwBytes, NULL);
	}

	return (WORD)pv;
}

//read 4 bytes from port
DWORD ReadPortLong(WORD portAddr)
{
	PHYMEM_PORT pp;
	DWORD pv=0;	//returned port value
	DWORD dwBytes;

	pp.dwPort=portAddr;
	pp.dwSize=4;	//4 bytes

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		DeviceIoControl(hDriver, IOCTL_PHYMEM_GETPORT, &pp,
			sizeof(PHYMEM_PORT), &pv, sizeof(DWORD), &dwBytes, NULL);
	}

	return pv;
}

//write 1 byte to port
VOID WritePortByte(WORD portAddr, BYTE portValue)
{
	PHYMEM_PORT pp;
	DWORD dwBytes;

	pp.dwPort=portAddr;
	pp.dwValue=portValue;
	pp.dwSize=1;	//1 byte

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		DeviceIoControl(hDriver, IOCTL_PHYMEM_SETPORT, &pp,
			sizeof(PHYMEM_PORT), NULL, 0, &dwBytes, NULL);
	}
}

//write 2 bytes to port
VOID WritePortWord(WORD portAddr, WORD portValue)
{
	PHYMEM_PORT pp;
	DWORD dwBytes;

	pp.dwPort=portAddr;
	pp.dwValue=portValue;
	pp.dwSize=2;	//2 bytes

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		DeviceIoControl(hDriver, IOCTL_PHYMEM_SETPORT, &pp,
			sizeof(PHYMEM_PORT), NULL, 0, &dwBytes, NULL);
	}
}

//write 4 bytes to port
VOID WritePortLong(WORD portAddr, DWORD portValue)
{
	PHYMEM_PORT pp;
	DWORD dwBytes;

	pp.dwPort=portAddr;
	pp.dwValue=portValue;
	pp.dwSize=4;	//4 bytes

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		DeviceIoControl(hDriver, IOCTL_PHYMEM_SETPORT, &pp,
			sizeof(PHYMEM_PORT), NULL, 0, &dwBytes, NULL);
	}
}

//read pci configuration
BOOL ReadPCI(DWORD busNum, DWORD devNum, DWORD funcNum,
			 DWORD regOff, DWORD bytes, PVOID pValue)
{
	BOOL bRet=FALSE;
	DWORD dwBytes;
	PHYMEM_PCI pp;

	pp.dwBusNum=busNum;
	pp.dwDevNum=devNum;
	pp.dwFuncNum=funcNum;
	pp.dwRegOff=regOff;
	pp.dwBytes=bytes;
//	pp.pValue=NULL;

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		bRet=DeviceIoControl(hDriver, IOCTL_PHYMEM_GETPCI, &pp,
			sizeof(PHYMEM_PCI), pValue, bytes, &dwBytes, NULL);
	}

	if (bRet && dwBytes==bytes)
		return TRUE;
	else
		return FALSE;
}

//write pci configuration
BOOL WritePCI(DWORD busNum, DWORD devNum, DWORD funcNum,
			  DWORD regOff, DWORD bytes, PVOID pValue)
{
	BOOL bRet=FALSE;
	DWORD dwBytes;
	PHYMEM_PCI pp;

	pp.dwBusNum=busNum;
	pp.dwDevNum=devNum;
	pp.dwFuncNum=funcNum;
	pp.dwRegOff=regOff;
	pp.dwBytes=bytes;

	if (hDriver!=INVALID_HANDLE_VALUE)
	{
		//we use out buffer for storing the new values to write
		//it's strange but it works (METHOD_OUT_DIRECT) and ease the driver
		bRet=DeviceIoControl(hDriver, IOCTL_PHYMEM_SETPCI, &pp,
			sizeof(PHYMEM_PCI), pValue, bytes, &dwBytes, NULL);
	}

	if (bRet && dwBytes==bytes)
		return TRUE;
	else
		return FALSE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天欧美精品| 免费欧美日韩国产三级电影| 欧美视频日韩视频在线观看| 蓝色福利精品导航| 亚洲欧美区自拍先锋| 精品国产亚洲一区二区三区在线观看| jlzzjlzz亚洲女人18| 日韩高清一区在线| 亚洲激情自拍偷拍| 亚洲国产经典视频| 欧美sm极限捆绑bd| 欧美久久一二三四区| 波多野结衣在线一区| 久久精品国产77777蜜臀| 一区二区三区在线观看国产| 久久精品人人做| 欧美一区二区三区在线电影| 91福利国产成人精品照片| 国产精品77777竹菊影视小说| 亚洲成人免费视频| 一区二区三区成人| 中文字幕在线观看一区二区| 久久亚洲二区三区| 日韩片之四级片| 欧美日韩aaa| 欧美综合一区二区三区| 91网站在线播放| 成人午夜视频福利| 国产伦精品一区二区三区在线观看| 日韩在线观看一区二区| 亚洲女爱视频在线| 日韩伦理av电影| 中文字幕一区二区5566日韩| 国产精品拍天天在线| 久久久久国产免费免费| 久久中文字幕电影| 精品少妇一区二区三区免费观看 | 婷婷亚洲久悠悠色悠在线播放| 国产精品黄色在线观看| 国产精品嫩草影院com| 国产欧美视频一区二区| 久久久国产一区二区三区四区小说| 欧美精品一区视频| 精品国产乱码久久久久久蜜臀| 欧美成人一级视频| 精品99999| 久久久精品国产免大香伊| 精品av久久707| 国产亚洲欧美日韩日本| 中文字幕第一页久久| 欧美国产精品v| 国产精品美女久久久久aⅴ| 国产精品欧美精品| 亚洲色欲色欲www| 一区二区三区免费在线观看| 一区二区三区国产精华| 亚洲午夜免费福利视频| 日本欧洲一区二区| 激情综合网天天干| 成人性生交大合| 一本色道久久综合亚洲91| 精品视频一区二区三区免费| 欧美少妇性性性| 日韩视频免费直播| 国产日产欧美一区| 中文字幕一区二区三区色视频| 一区二区三区在线播放| 视频在线在亚洲| 六月婷婷色综合| 不卡av免费在线观看| 欧美自拍偷拍一区| 欧美成人女星排名| 国产精品对白交换视频| 亚洲图片自拍偷拍| 久久精品国产色蜜蜜麻豆| 成人综合在线网站| 欧美性感一区二区三区| 日韩精品一区二区三区视频在线观看 | 成人一级视频在线观看| 91久久精品一区二区二区| 制服丝袜国产精品| 天天射综合影视| 久久精工是国产品牌吗| 成人黄色在线网站| 欧美日韩视频不卡| 久久久久久久久久久久久女国产乱 | 91在线观看污| 欧美一区二区三区的| 中文一区二区完整视频在线观看| 一个色在线综合| 国产一区二区精品久久91| 99久久精品99国产精品| 69堂精品视频| 最新不卡av在线| 久久99最新地址| 91国产丝袜在线播放| 精品国产91久久久久久久妲己| 亚洲人成网站精品片在线观看| 三级欧美在线一区| 本田岬高潮一区二区三区| 91精品国产91综合久久蜜臀| 国产精品麻豆欧美日韩ww| 免费看日韩精品| 在线日韩av片| 国产精品每日更新在线播放网址| 视频在线观看一区| 91久久精品一区二区二区| 国产人成一区二区三区影院| 日本视频一区二区| 在线免费观看日本欧美| 国产精品美女久久久久久久久久久| 日本vs亚洲vs韩国一区三区| 一本到三区不卡视频| 久久久综合精品| 蜜臀久久99精品久久久久久9| 在线看国产一区二区| 国产精品女人毛片| 国产精品一区在线观看乱码| 欧美一区二区三区在线| 亚洲国产成人91porn| 91在线观看高清| 国产精品免费视频观看| 国产精品一二三四五| 精品卡一卡二卡三卡四在线| 日本午夜精品视频在线观看| 在线欧美一区二区| 亚洲欧美一区二区三区极速播放| 成人爽a毛片一区二区免费| 久久综合九色欧美综合狠狠| 精品一区二区三区在线观看 | 精品欧美一区二区在线观看| 日韩中文字幕av电影| 色丁香久综合在线久综合在线观看| 欧美韩日一区二区三区| 国产成人精品一区二区三区四区 | 91丨九色丨蝌蚪富婆spa| 日本一区二区三区国色天香| 国产精品综合久久| 久久久久国产精品麻豆ai换脸| 精品在线播放免费| 久久久青草青青国产亚洲免观| 久久99精品国产.久久久久久 | 欧美成人女星排名| 久久97超碰色| 久久精品在这里| 国产69精品久久久久777| 国产精品网站在线观看| av成人动漫在线观看| 亚洲视频香蕉人妖| 在线免费不卡电影| 午夜视频一区二区三区| 日韩午夜三级在线| 韩国v欧美v亚洲v日本v| 国产网站一区二区三区| 99久久综合色| 亚洲一区在线观看视频| 91精品在线观看入口| 韩国av一区二区三区四区| 久久精品人人做人人爽人人| 99视频精品免费视频| 亚洲日穴在线视频| 欧美裸体bbwbbwbbw| 精品一二三四区| 国产精品日韩成人| 色综合中文综合网| 久久精品男人的天堂| av成人免费在线观看| 亚洲丰满少妇videoshd| 日韩欧美第一区| 成人午夜免费电影| 亚洲国产一区二区三区| 日韩西西人体444www| 成人黄色综合网站| 视频在线观看一区二区三区| 2021国产精品久久精品| av激情成人网| 日韩黄色片在线观看| 国产欧美日韩中文久久| 美女视频黄a大片欧美| 欧美激情综合五月色丁香| 91捆绑美女网站| 蜜桃精品视频在线| 综合久久综合久久| 在线综合视频播放| 高清在线观看日韩| 天天操天天干天天综合网| 久久精品一二三| 欧美色图12p| 国产成人精品亚洲午夜麻豆| 亚洲国产精品嫩草影院| 国产日韩欧美高清| 欧美日韩国产美女| eeuss鲁一区二区三区| 免费在线观看成人| 亚洲免费av观看| 亚洲精品在线三区| 欧美少妇性性性| 97精品国产露脸对白| 韩国v欧美v日本v亚洲v| 丝袜美腿亚洲色图|