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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? timerworks.bat

?? KmdKit 匯編下開發(fā)驅(qū)動(dòng)的工具 由俄羅斯某強(qiáng)男開發(fā)
?? BAT
字號(hào):
;@echo off
;goto make

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;
;  TimerWorks - Creates, sets, waits for and cancels the timer.
;
;  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\hal.inc

includelib \masm32\lib\w2k\ntoskrnl.lib
includelib \masm32\lib\w2k\hal.lib

include \masm32\Macros\Strings.mac

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                 R E A D O N L Y    D A T A                                        
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

.const

CCOUNTED_UNICODE_STRING	"\\Device\\TimerWorks", g_usDeviceName, 4
CCOUNTED_UNICODE_STRING	"\\DosDevices\\TimerWorks", g_usSymbolicLinkName, 4

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                              U N I N I T I A L I Z E D  D A T A                                   
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

.data?

g_pkThread	PVOID	?	; PTR KTHREAD
g_fStop		BOOL	?

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                         C O D E                                                   
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

.code

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                        ThreadProc                                                 
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

ThreadProc proc Param:DWORD

local dwCounter:DWORD
local pkThread:PVOID			; PKTHREAD
local status:NTSTATUS
local kTimer:KTIMER
local liDueTime:LARGE_INTEGER

	and dwCounter, 0

	invoke DbgPrint, $CTA0("\nTimerWorks: Entering ThreadProc\n")

	;::::::::::::::::::::::::::::::
	; Just for educational purposes

	invoke KeGetCurrentIrql
	invoke DbgPrint, $CTA0("TimerWorks: IRQL = %d\n"), eax


	invoke KeGetCurrentThread
	mov pkThread, eax
	invoke KeQueryPriorityThread, eax
	push eax
	invoke DbgPrint, $CTA0("TimerWorks: Thread Priority = %d\n"), eax

	pop eax
	inc eax
	inc eax
	invoke KeSetPriorityThread, pkThread, eax
	
	; Bear in mind that threads running in kernel mode with priority in the range
	; LOW_REALTIME_PRIORITY-HIGH_PRIORITY are preemptible only by a thread with higher priority.

	invoke KeQueryPriorityThread, pkThread
	invoke DbgPrint, $CTA0("TimerWorks: Thread Priority = %d\n"), eax

	; Just for educational purposes
	;::::::::::::::::::::::::::::::

	invoke KeInitializeTimerEx, addr kTimer, SynchronizationTimer

	; relative time at which the timer expires
	; in 100-nanosecond intervalss = 5 secs
	
	or liDueTime.HighPart, -1
	mov liDueTime.LowPart, -50000000

	; period for the timer in milliseconds = 1 sec
	
	invoke KeSetTimerEx, addr kTimer, liDueTime.LowPart, liDueTime.HighPart, 1000, NULL

	invoke DbgPrint, $CTA0("TimerWorks: Timer is set. It starts counting in 5 seconds...\n")

	.while dwCounter < 10
		invoke KeWaitForSingleObject, addr kTimer, Executive, KernelMode, FALSE, NULL

		; Basically we don't need to check status because the only reason
		; the wait is satisfied is the timer gets signalled.

		inc dwCounter
		invoke DbgPrint, $CTA0("TimerWorks: Counter = %d\n"), dwCounter

		; If DriverUnload routine called it's time to break the loop

		.if g_fStop
			invoke DbgPrint, $CTA0("TimerWorks: Stop counting to let the driver to be uloaded\n")
			.break
		.endif

	.endw

	invoke KeCancelTimer, addr kTimer

	invoke DbgPrint, $CTA0("TimerWorks: Timer is canceled. Leaving ThreadProc\n")
	invoke DbgPrint, $CTA0("TimerWorks: Our thread is about to terminate\n")

	invoke PsTerminateSystemThread, STATUS_SUCCESS

	ret

ThreadProc endp

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

DriverUnload proc pDriverObject:PDRIVER_OBJECT

	invoke DbgPrint, $CTA0("\nTimerWorks: Entering DriverUnload\n")

	mov g_fStop, TRUE	; Break the timer loop if it's counting

	; We must not unload driver till our system thread is runing
	; because ThredProc resides in our driver's body. So we will wait.
	; It's not good, btw, because we block one of the system thread.
	; Another solution is zero out DRIVER_OBJECT.DriverUnload
	; to make the driver unloadable and later restore this field.

	invoke DbgPrint, $CTA0("TimerWorks: Wait for thread exits...\n")
		
	invoke KeWaitForSingleObject, g_pkThread, Executive, KernelMode, FALSE, NULL
	
	; Basically we don't need to check status because the only reason
	; the wait is satisfied is terminating the thread g_pkThread pointed to.

	invoke ObDereferenceObject, g_pkThread

	invoke IoDeleteSymbolicLink, addr g_usSymbolicLinkName

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

	invoke DbgPrint, $CTA0("TimerWorks: Leaving DriverUnload\n")

	ret

DriverUnload endp

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

.code INIT

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                       StartThread                                                 
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

StartThread proc

local status:NTSTATUS
local oa:OBJECT_ATTRIBUTES
local hThread:HANDLE

	invoke DbgPrint, $CTA0("\nTimerWorks: Entering StartThread\n")

	invoke PsCreateSystemThread, addr hThread, THREAD_ALL_ACCESS, NULL, NULL, NULL, ThreadProc, NULL
	mov status, eax
	.if eax == STATUS_SUCCESS

		invoke ObReferenceObjectByHandle, hThread, THREAD_ALL_ACCESS, NULL, KernelMode, addr g_pkThread, NULL

		invoke ZwClose, hThread
		invoke DbgPrint, $CTA0("TimerWorks: Thread created\n")
	.else
		invoke DbgPrint, $CTA0("TimerWorks: Can't create Thread. Status: %08X\n"), eax
	.endif

	invoke DbgPrint, $CTA0("TimerWorks: Leaving StartThread\n")

	mov eax, status
	ret

StartThread endp

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

DriverEntry proc pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING

local status:NTSTATUS
local pDeviceObject:PDEVICE_OBJECT

	mov status, STATUS_DEVICE_CONFIGURATION_ERROR

	invoke IoCreateDevice, pDriverObject, 0, addr g_usDeviceName, FILE_DEVICE_UNKNOWN, 0, TRUE, addr pDeviceObject
	.if eax == STATUS_SUCCESS
		invoke IoCreateSymbolicLink, addr g_usSymbolicLinkName, addr g_usDeviceName
		.if eax == STATUS_SUCCESS
			invoke StartThread
			.if eax == STATUS_SUCCESS
				and g_fStop, FALSE			; reset global flag
				mov eax, pDriverObject
				mov (DRIVER_OBJECT PTR [eax]).DriverUnload, offset DriverUnload
				mov status, STATUS_SUCCESS
			.else
				invoke IoDeleteSymbolicLink, addr g_usSymbolicLinkName
				invoke IoDeleteDevice, pDeviceObject
			.endif
		.else
			invoke IoDeleteDevice, pDeviceObject
		.endif
	.endif

	mov eax, status
	ret

DriverEntry endp

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

end DriverEntry

:make

set drv=TimerWorks

\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

del %drv%.obj

echo.
pause

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合成人久久大片91| a在线播放不卡| 菠萝蜜视频在线观看一区| 91伊人久久大香线蕉| 欧美日韩国产小视频| 精品电影一区二区| 欧美疯狂性受xxxxx喷水图片| 日韩一区二区三区四区| 久久精品在线免费观看| 亚洲一区二区三区四区不卡| 免费在线观看精品| 成人免费三级在线| 91精品国产综合久久香蕉的特点 | 一区av在线播放| 成人高清视频免费观看| 欧洲国内综合视频| 国产日产精品一区| 久久国产成人午夜av影院| 91亚洲国产成人精品一区二区三 | 91精品欧美久久久久久动漫| 三级久久三级久久| 亚洲高清在线精品| 国产精品18久久久久| 欧美影院一区二区三区| 成人性色生活片| 欧美一级片免费看| 亚洲成人动漫精品| 色综合久久久久网| 久久久久久毛片| 蜜臀91精品一区二区三区 | 日韩免费电影网站| 亚洲高清免费观看高清完整版在线观看| 久久99精品久久久久久| 在线不卡免费av| 一区二区在线观看免费| 99在线精品视频| 国产视频一区在线播放| 国产资源精品在线观看| 欧美日韩高清一区二区不卡| 中文字幕亚洲区| 成人免费黄色在线| 国产欧美精品日韩区二区麻豆天美| 丝袜美腿亚洲综合| 欧美精品在线视频| 亚洲第一久久影院| 91麻豆精品国产91久久久使用方法| 国产欧美精品一区二区色综合朱莉| 精品一区二区三区av| 欧美日韩在线播| 亚洲国产精品欧美一二99| 欧美午夜精品理论片a级按摩| 亚洲精品日韩专区silk| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 成人精品视频一区二区三区| 欧美一区二区二区| 美腿丝袜亚洲综合| 精品国产1区二区| 国产呦萝稀缺另类资源| 欧美精品一区二区三区蜜桃| 日本不卡一区二区| 欧美美女视频在线观看| 日韩精品亚洲一区| 精品美女在线播放| 丁香网亚洲国际| 亚洲乱码精品一二三四区日韩在线| 成人av免费在线观看| 国产精品黄色在线观看| 9人人澡人人爽人人精品| 日韩久久一区二区| 欧美精品777| 国产毛片精品国产一区二区三区| 欧美一区欧美二区| 狠狠色综合日日| 精品美女一区二区三区| 不卡一二三区首页| 亚洲一区免费观看| 日韩欧美资源站| 91片在线免费观看| 日本视频一区二区| 欧美极品少妇xxxxⅹ高跟鞋 | 成人av网址在线观看| 亚洲激情av在线| 精品久久人人做人人爱| 久久国产剧场电影| 亚洲精品国产精华液| 欧美精品xxxxbbbb| 成人影视亚洲图片在线| 午夜精品一区二区三区三上悠亚| 精品国产污污免费网站入口 | 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 色香蕉成人二区免费| 日韩精品1区2区3区| www国产成人| 91精品国产综合久久福利软件| 国产资源精品在线观看| 亚洲自拍欧美精品| 国产精品成人在线观看| 日韩一区二区在线播放| 成人黄色小视频在线观看| 亚洲国产精品一区二区尤物区| 欧美国产精品专区| 欧美一区二区日韩一区二区| 成人国产免费视频| 亚洲国产一区二区三区| 亚洲色图制服诱惑| 国产精品情趣视频| 欧美一激情一区二区三区| 欧美午夜精品电影| 99久精品国产| 国产九九视频一区二区三区| 亚洲成人动漫在线观看| 亚洲同性gay激情无套| 国产亚洲综合在线| 91超碰这里只有精品国产| 在线免费观看视频一区| 99久久99久久精品免费看蜜桃| 国产精品自拍在线| 国产真实乱子伦精品视频| 丝袜诱惑亚洲看片| 亚洲午夜av在线| 国产精品视频一二三| 欧美成人性福生活免费看| 欧美一区日本一区韩国一区| 69精品人人人人| 欧美日韩视频第一区| 欧美日韩一二区| 欧美色网站导航| 欧美天堂亚洲电影院在线播放| 色综合网色综合| 91在线免费视频观看| 91官网在线观看| 在线观看av一区二区| 色婷婷久久久亚洲一区二区三区 | 亚洲在线视频网站| 亚洲欧洲成人自拍| 中文字幕欧美一| 久久夜色精品一区| 色美美综合视频| 91传媒视频在线播放| 欧美一区二区播放| 国产亚洲福利社区一区| 国产精品美女久久久久久久 | 91精选在线观看| 精品国精品自拍自在线| 亚洲国产精品激情在线观看| 亚洲乱码一区二区三区在线观看| 视频一区视频二区中文字幕| 国产一区二区精品久久99| 成人免费观看av| 欧美日韩亚洲高清一区二区| 欧美成人国产一区二区| 国产精品毛片高清在线完整版| 亚洲h在线观看| 高清国产一区二区| 欧美日韩精品免费| 欧美激情综合在线| 日韩电影在线免费观看| av成人动漫在线观看| 日韩精品资源二区在线| 亚洲乱码国产乱码精品精可以看| 免费高清视频精品| 色婷婷综合久久久久中文一区二区| 欧美第一区第二区| 亚洲自拍偷拍综合| 成人涩涩免费视频| 日韩一区二区三区视频在线观看| 中文字幕一区二区三区四区| 蜜臀av性久久久久蜜臀aⅴ四虎| jizzjizzjizz欧美| 久久久亚洲国产美女国产盗摄| 亚洲午夜成aⅴ人片| 成人小视频在线观看| 久久综合久久鬼色中文字| 天堂成人国产精品一区| 99精品视频在线观看| 国产三级一区二区| 蜜乳av一区二区| 欧美乱熟臀69xxxxxx| 中文av一区二区| 狠狠色狠狠色综合| 91精品国产一区二区三区蜜臀| 一卡二卡欧美日韩| 色综合久久久久久久久久久| 国产午夜精品一区二区三区四区 | 国产成人鲁色资源国产91色综| 在线成人av网站| 亚洲已满18点击进入久久| 99久久精品国产观看| 欧美国产精品一区二区三区| 久久99精品国产.久久久久| 欧美一区二区三区男人的天堂| 一区二区三区在线视频免费观看| 成人av资源网站| 中文字幕日韩一区| 一本久道久久综合中文字幕| 欧美国产综合色视频| 成人污视频在线观看| 2021久久国产精品不只是精品| 久久综合综合久久综合| 日韩午夜在线观看|