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

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

?? virttophys.bat

?? KmdKit 匯編下開發驅動的工具 由俄羅斯某強男開發
?? BAT
字號:
;@echo off
;goto make

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;
; VirtToPhys - Kernel Mode Driver
;
; Translates virtual addres to physical address
;
; Written by Four-F (four-f@mail.ru)
;
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

.386
.model flat, stdcall
option casemap:none

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                  I N C L U D E   F I L E S                                        
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

include \masm32\include\w2k\ntstatus.inc
include \masm32\include\w2k\ntddk.inc
include \masm32\include\w2k\ntoskrnl.inc
include \masm32\include\w2k\w2kundoc.inc

includelib \masm32\lib\w2k\ntoskrnl.lib

include \masm32\Macros\Strings.mac

include ..\common.inc

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                     C O N S T A N T S                                             
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

.const
CCOUNTED_UNICODE_STRING	"\\Device\\devVirtToPhys", g_usDeviceName, 4
CCOUNTED_UNICODE_STRING	"\\??\\slVirtToPhys", g_usSymbolicLinkName, 4

; May be you have to use this line instead of above one
; if your Windows NT version is <= 4.0
; It will work also under 2K & XP
;CCOUNTED_UNICODE_STRING	"\\DosDevices\\slVirtToPhys", g_usSymbolicLinkName, 4

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                            N O N D I S C A R D A B L E   C O D E                                  
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

.code

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                    GetPhysicalAddress                                             
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

GetPhysicalAddress proc dwAddress:DWORD

; Converts virtual address in dwAddress to corresponding physical address

	mov eax, dwAddress
	mov ecx, eax

	shr eax, 22         									; (Address >> 22) => Page Directory Index, PDI
	shl eax, 2												; * sizeof PDE = PDE offset

	mov eax, [0C0300000h][eax]								; [Page Directory Base + PDE offset]

	.if ( eax & (mask pde4kValid) )							; .if ( eax & 01y )
		; PDE is valid
		.if !( eax & (mask pde4kLargePage) )				; .if ( eax & 010000000y )
			; small page (4kB)
			mov eax, ecx
			; (Address >> 12) * sizeof PTE => PTE offset
			shr eax, 10
			and eax, 1111111111111111111100y
			add eax, 0C0000000h								; add Page Table Array Base
			mov eax, [eax]									; fetch PTE

			.if eax & (mask pteValid)						; .if ( eax & 01y )
				; PTE is valid
				and eax, mask ptePageFrameNumber			; mask PFN   (and eax, 11111111111111111111000000000000y)

				; We actually don't need these two lines
				; because of module base is always page aligned
				and ecx, 00000000000000000000111111111111y	; Byte Index
				add eax, ecx								; add byte offset to physical address
			.else
				xor eax, eax								; error
			.endif
		.else
			; large page (4mB)
			and eax, mask pde4mPageFrameNumber				; mask PFN   (and eax, 11111111110000000000000000000000y)
			and ecx, 00000000001111111111111111111111y		; Byte Index
			add eax, ecx									; add byte offset to physical address
		.endif
	.else
		xor eax, eax										; error
	.endif

	ret

GetPhysicalAddress endp

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                   DispatchCreateClose                                             
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

DispatchCreateClose proc pDeviceObject:PDEVICE_OBJECT, pIrp:PIRP

	; CreateFile was called, to get device handle
	; CloseHandle was called, to close device handle
	; In both cases we are in user process context here

	mov eax, pIrp
	assume eax:ptr _IRP
	mov [eax].IoStatus.Status, STATUS_SUCCESS
	and [eax].IoStatus.Information, 0
	assume eax:nothing

	fastcall IofCompleteRequest, pIrp, IO_NO_INCREMENT

	mov eax, STATUS_SUCCESS
	ret

DispatchCreateClose endp

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                     DispatchControl                                               
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

DispatchControl proc uses esi edi ebx pDeviceObject:PDEVICE_OBJECT, pIrp:PIRP

	; DeviceIoControl was called
	; We are in user process context here

local status:NTSTATUS
local dwBytesReturned:DWORD

	and dwBytesReturned, 0

	mov esi, pIrp
	assume esi:ptr _IRP

	IoGetCurrentIrpStackLocation esi
	mov edi, eax
	assume edi:ptr IO_STACK_LOCATION

	.if [edi].Parameters.DeviceIoControl.IoControlCode == IOCTL_GET_PHYS_ADDRESS

		mov status, STATUS_BUFFER_TOO_SMALL
		.if ( [edi].Parameters.DeviceIoControl.OutputBufferLength >= DATA_SIZE )
		.if ( [edi].Parameters.DeviceIoControl.InputBufferLength >= DATA_SIZE )

			mov edi, [esi].AssociatedIrp.SystemBuffer
			assume edi:ptr DWORD

			xor ebx, ebx
			.while ebx < NUM_DATA_ENTRY

				; Change proc name to MmGetPhysicalAddress
				; if you want to ask kernel to do all job for you

				invoke GetPhysicalAddress, [edi][ebx*(sizeof DWORD)]

				mov [edi][ebx*(sizeof DWORD)], eax
				inc ebx
			.endw

			mov dwBytesReturned, DATA_SIZE
			mov status, STATUS_SUCCESS

		.endif
		.endif

	.else
		mov status, STATUS_INVALID_DEVICE_REQUEST
	.endif

	assume edi:nothing

	push status
	pop [esi].IoStatus.Status

	push dwBytesReturned
	pop [esi].IoStatus.Information

	assume esi:nothing

	fastcall IofCompleteRequest, pIrp, IO_NO_INCREMENT

	mov eax, status
	ret

DispatchControl endp

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                       DriverUnload                                                
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

DriverUnload proc pDriverObject:PDRIVER_OBJECT

	; ControlService,,SERVICE_CONTROL_STOP was called
	; We are in System process (pid = 8) context here

	invoke IoDeleteSymbolicLink, addr g_usSymbolicLinkName

	mov eax, pDriverObject
	invoke IoDeleteDevice, (DRIVER_OBJECT PTR [eax]).DeviceObject

	ret

DriverUnload endp

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                              D I S C A R D A B L E   C O D E                                      
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

.code INIT

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                       DriverEntry                                                 
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

DriverEntry proc pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING

	; StartService was called
	; We are in System process (pid = 8) context here

local status:NTSTATUS
local pDeviceObject:PDEVICE_OBJECT

	mov status, STATUS_DEVICE_CONFIGURATION_ERROR

	invoke IoCreateDevice, pDriverObject, 0, addr g_usDeviceName, FILE_DEVICE_UNKNOWN, 0, FALSE, addr pDeviceObject
	.if eax == STATUS_SUCCESS
		invoke IoCreateSymbolicLink, addr g_usSymbolicLinkName, addr g_usDeviceName
		.if eax == STATUS_SUCCESS
			mov eax, pDriverObject
			assume eax:ptr DRIVER_OBJECT
			mov [eax].DriverUnload,											offset DriverUnload
			mov [eax].MajorFunction[IRP_MJ_CREATE*(sizeof PVOID)],			offset DispatchCreateClose
			mov [eax].MajorFunction[IRP_MJ_CLOSE*(sizeof PVOID)],			offset DispatchCreateClose
			mov [eax].MajorFunction[IRP_MJ_DEVICE_CONTROL*(sizeof PVOID)],	offset DispatchControl
			assume eax:nothing
			mov status, STATUS_SUCCESS
		.else
			invoke IoDeleteDevice, pDeviceObject
		.endif
	.endif

	mov eax, status
	ret

DriverEntry endp

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                                                                                   
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

end DriverEntry

:make

set drv=VirtToPhys

:makerc
if exist rsrc.obj goto final
	\masm32\bin\rc /v rsrc.rc
	\masm32\bin\cvtres /machine:ix86 rsrc.res
	if errorlevel 0 goto final
		echo.
		pause
		exit

:final

if exist rsrc.res del rsrc.res

\masm32\bin\ml /nologo /c /coff %drv%.bat
\masm32\bin\link /nologo /driver /base:0x10000 /align:32 /out:%drv%.sys /subsystem:native /ignore:4078 %drv%.obj rsrc.obj

del %drv%.obj
move %drv%.sys ..

echo.
pause

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区蜜桃| 丰满岳乱妇一区二区三区| 色视频欧美一区二区三区| 国产精品久久久久永久免费观看 | 国产精品区一区二区三区| 美女视频黄久久| 日韩美一区二区三区| 国模冰冰炮一区二区| www国产成人免费观看视频 深夜成人网| 美日韩一级片在线观看| 日韩欧美国产三级| 国产乱子轮精品视频| 久久午夜羞羞影院免费观看| 国产精品综合视频| 国产精品久线在线观看| 色一情一伦一子一伦一区| 亚洲国产美国国产综合一区二区| 欧美男男青年gay1069videost| 日韩电影免费一区| 精品国产凹凸成av人导航| 波多野结衣亚洲| 亚洲午夜久久久久中文字幕久| 3d成人h动漫网站入口| 久久aⅴ国产欧美74aaa| 国产欧美一区二区在线观看| 在线日韩av片| 麻豆精品一区二区综合av| 久久精品免费在线观看| 色婷婷久久久久swag精品| 奇米一区二区三区| 亚洲国产精品成人综合色在线婷婷| 91丝袜美腿高跟国产极品老师| 日韩一区精品视频| 国产视频不卡一区| 欧美色手机在线观看| 韩国女主播一区| 亚洲小说欧美激情另类| 久久婷婷一区二区三区| 欧美日韩一区高清| 成人av在线电影| 精品中文字幕一区二区小辣椒| 日韩一区欧美一区| 日韩免费看的电影| 欧美午夜在线观看| 国产精品自拍三区| 日日夜夜精品视频天天综合网| 国产精品毛片高清在线完整版| 在线不卡免费av| 99riav一区二区三区| 国产一区二区在线看| 午夜精品福利视频网站| 一区免费观看视频| 久久久久久麻豆| 337p亚洲精品色噜噜| 色94色欧美sute亚洲线路二| 国内精品视频一区二区三区八戒| 亚洲综合一区二区三区| 国产精品成人在线观看| 国产午夜精品美女毛片视频| 欧美一区二区三区在线视频| 在线观看www91| 91视频国产观看| av在线播放不卡| 国产麻豆精品久久一二三| 日本视频一区二区三区| 亚洲一区二区三区四区中文字幕| 国产精品无圣光一区二区| 精品88久久久久88久久久| 91精品国产综合久久国产大片| 欧美色视频在线观看| 在线精品国精品国产尤物884a| 成人av资源下载| 不卡欧美aaaaa| 成人av动漫在线| 国产不卡视频在线播放| 国产一区91精品张津瑜| 国产黄色精品网站| 国产一区二区三区蝌蚪| 国产精品自产自拍| 国产成人精品一区二区三区四区 | 欧美视频一区二| 日本精品一区二区三区高清 | 国产精品久久久久久久午夜片| 国产色爱av资源综合区| 久久精品一二三| 国产欧美一区二区精品秋霞影院 | 91免费视频网址| 国产精品私人影院| 2021久久国产精品不只是精品| 欧美精品一二三| 欧美日韩高清影院| 欧美一区二区三区成人| 91精品啪在线观看国产60岁| 9191久久久久久久久久久| 91精品国产色综合久久ai换脸| 91麻豆精品国产综合久久久久久 | 国产精品亲子伦对白| 国产精品久久午夜| 亚洲综合一区二区三区| 日精品一区二区三区| 精品综合免费视频观看| 成人精品一区二区三区四区| 91农村精品一区二区在线| 欧美日韩一区中文字幕| 欧美一区二区三区性视频| 久久夜色精品一区| 亚洲欧美福利一区二区| 日本亚洲免费观看| 国v精品久久久网| 在线亚洲人成电影网站色www| 欧美精品丝袜久久久中文字幕| 精品福利在线导航| 亚洲女同ⅹxx女同tv| 美腿丝袜亚洲综合| 岛国av在线一区| 欧美日韩黄视频| 国产日韩v精品一区二区| 亚洲天堂免费在线观看视频| 日韩va欧美va亚洲va久久| 国产精品综合在线视频| 在线观看欧美黄色| 久久久久久亚洲综合影院红桃 | 亚洲综合久久久久| 精品一区二区三区免费视频| 不卡视频在线看| 欧美xxxx在线观看| 亚洲精选一二三| 国产在线精品一区二区三区不卡 | 亚洲h动漫在线| 国产一区二区成人久久免费影院 | 丝袜亚洲另类丝袜在线| 风间由美性色一区二区三区| 欧美精品日韩精品| 亚洲免费毛片网站| 国产福利电影一区二区三区| 欧美日韩中文另类| 亚洲色图一区二区| 国产一区二区三区免费看| 欧美日韩一区二区三区在线 | 麻豆精品一区二区综合av| 91尤物视频在线观看| 欧美tickle裸体挠脚心vk| 亚洲国产欧美一区二区三区丁香婷| 成人永久免费视频| 欧美www视频| 爽好久久久欧美精品| 一本久久精品一区二区| 欧美韩国日本一区| 久久69国产一区二区蜜臀| 欧美精品在线一区二区三区| 亚洲欧洲日韩综合一区二区| 国产风韵犹存在线视精品| 欧美一区日韩一区| 日韩精品亚洲一区| 欧美性猛交xxxx乱大交退制版 | 欧美影院一区二区三区| 亚洲你懂的在线视频| 97久久久精品综合88久久| 中文一区二区完整视频在线观看| 韩国视频一区二区| 欧美va亚洲va| 免播放器亚洲一区| 欧美一区二区国产| 秋霞影院一区二区| 欧美日韩中文字幕一区二区| 亚洲男同性恋视频| 欧美这里有精品| 一区二区三区精品久久久| 一本色道久久综合狠狠躁的推荐| 中文字幕日韩一区| 国产91丝袜在线18| 国产精品久久久99| 91色九色蝌蚪| 一区二区三区高清不卡| 欧美性xxxxx极品少妇| 午夜一区二区三区视频| 欧美一区二区三区视频免费播放 | 欧美一区二区视频在线观看| 五月婷婷另类国产| 欧美久久久久免费| 久久99九九99精品| 精品久久免费看| 国产黄人亚洲片| 中文字幕日韩精品一区| 欧美亚洲一区二区在线| 日韩福利电影在线| 久久嫩草精品久久久精品| 国产精品99久久久久久宅男| 日本一区二区三区视频视频| 风间由美性色一区二区三区| 亚洲情趣在线观看| 欧美精品xxxxbbbb| 激情久久久久久久久久久久久久久久| 精品欧美一区二区久久| 成人a区在线观看| 一区二区三区蜜桃网| 日韩视频一区二区三区| 国产成人午夜视频| 亚洲桃色在线一区| 717成人午夜免费福利电影|