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

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

?? seh.bat

?? 這是asm驅動的開發包
?? BAT
字號:
;@echo off
;goto make

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;
;  SEH - Structured Exception Handling. An example how to handle exceptions.
;
;  WARNING: This is raw-SEH. So, do not use it to wrap ProbeForRead, ProbeForWrite etc...
;
; If you don't know what SEH is, find and read the article
; "Win32 Exception handling for assembler programmers" by Jeremy Gordon.
; It's about exceptions handling in user mode but the principles absolutely the same.
; But remember...
;
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                  YOU CAN'T HANDLE ALL EXCEPTIONS WITH SEH IN KERNEL MODE !!!                      
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;
; For example, the attempt to divide by zero will result in BSOD even with installed SEH-handler.
; Even worse, we must not reference an invalid kernel-mode memory :-(
;
; According to Gary Nebbett's research the following exceptions can be trapped
; with the SEH when they occur at IRQL less than or equal to DISPATCH_LEVEL:
; - Any exception thrown by ExRaiseStatus and related functions
; - Reference to invalid user-mode memory
; - Breakpoint exception
; - Integer overflow
; - Invalid opcode
;
; So, we just have to write our code so as not to generate not listed above exceptions.
;
;  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

includelib \masm32\lib\w2k\ntoskrnl.lib

include \masm32\Macros\Strings.mac

include seh0.inc

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                     S T R U C T U R E S                                           
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

SEH STRUCT 
	SafeEip			dd	?	; The offset where it's safe to continue execution
	PrevEsp			dd	?	; The previous value of esp 
	PrevEbp			dd	?	; The previous value of ebp 
SEH ENDS

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

.data?

seh	SEH	<>

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

.code

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                       BuggyReader                                                 
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

BuggyReader proc

	xor eax, eax
	mov eax, [eax]				; !!! Without SEH this causes BSOD !!!

	ret

BuggyReader endp

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                       BuggyWriter                                                 
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

BuggyWriter proc

	mov eax, MmUserProbeAddress
	mov eax, [eax]
	mov eax, [eax]
	
	mov byte ptr [eax], 0		; !!! Without SEH this causes BSOD !!!

	ret

BuggyWriter endp

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;                                      ExceptionHandler                                             
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

ExceptionHandler proc C uses esi pExcept:DWORD, pFrame:DWORD, pContext:DWORD, pDispatch:DWORD

	mov esi, pExcept

	invoke DbgPrint, $CTA0("\nSEH: An exception %08X has occured\n"), \
						[esi][EXCEPTION_RECORD.ExceptionCode]

	.if [esi][EXCEPTION_RECORD.ExceptionCode] == 0C0000005h			; EXCEPTION_ACCESS_VIOLATION

		; if EXCEPTION_ACCESS_VIOLATION we have some additional info

		invoke DbgPrint, $CTA0("     Access violation at address: %08X\n"), \
						[esi][EXCEPTION_RECORD.ExceptionAddress]

		.if [esi][EXCEPTION_RECORD.ExceptionInformation][0]			; Read or write ?

			invoke DbgPrint, $CTA0("     The code tried to write to address %08X\n\n"), \
						[esi][EXCEPTION_RECORD.ExceptionInformation][4]
		.else
			invoke DbgPrint, $CTA0("     The code tried to read from address %08X\n\n"), \
						[esi][EXCEPTION_RECORD.ExceptionInformation][4]
		.endif
	.endif

	lea eax, seh
    push (SEH PTR [eax]).SafeEip
    push (SEH PTR [eax]).PrevEsp
    push (SEH PTR [eax]).PrevEbp

	mov eax, pContext
    pop (CONTEXT PTR [eax]).regEbp
    pop (CONTEXT PTR [eax]).regEsp
    pop (CONTEXT PTR [eax]).regEip

    xor eax, eax			; return ExceptionContinueExecution
    ret 

ExceptionHandler endp

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

DriverEntry proc pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING

	invoke DbgPrint, $CTA0("\nSEH: Entering DriverEntry\n")

	;::::::::::::::::::::::::::::::::
	; Manually set/remove seh-frame :
	;::::::::::::::::::::::::::::::::

	assume fs:nothing
	push offset ExceptionHandler
	push fs:[0]
	mov fs:[0], esp
	assume fs:error

	mov seh.SafeEip, offset SafePlace
	mov seh.PrevEbp, ebp
	mov seh.PrevEsp, esp

	invoke BuggyReader

SafePlace:
	; Remove seh-frame  
	assume fs:nothing
	pop fs:[0]
	add esp, sizeof DWORD
	assume fs:error


	;:::::::::::::::::::::::::::::::::::::::::::::::
	; SEH works using macro. It's a bit easier ;-) :
	;:::::::::::::::::::::::::::::::::::::::::::::::

	_try

	invoke BuggyWriter

	_finally


	invoke DbgPrint, $CTA0("\nSEH: Leaving DriverEntry\n")

	; Remove driver from the memory.
	mov eax, STATUS_DEVICE_CONFIGURATION_ERROR
	ret

DriverEntry endp

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

end DriverEntry

:make

set drv=seh

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

del %drv%.obj

echo.
pause

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品嫩草影院av蜜臀| 中文字幕一区三区| 久久色成人在线| 国产精品网站在线观看| 国产精品高潮呻吟久久| 亚洲一区二区三区小说| 日本一区中文字幕| 成人国产一区二区三区精品| 99综合影院在线| 91精品国产手机| 国产午夜精品理论片a级大结局| 中文字幕av一区二区三区高| 亚洲影视在线观看| 国产在线麻豆精品观看| 色婷婷香蕉在线一区二区| 8x8x8国产精品| 亚洲欧洲综合另类| 理论片日本一区| 欧美日韩一区在线观看| 国产三级三级三级精品8ⅰ区| 亚洲一区二区三区四区在线| 狠狠色伊人亚洲综合成人| 欧美色图免费看| 国产精品进线69影院| 国产一区二区成人久久免费影院| 成人aa视频在线观看| 久久精品人人做人人爽97| 日本不卡一二三| 欧美写真视频网站| 亚洲国产日日夜夜| 色综合久久88色综合天天| 国产日韩欧美一区二区三区综合 | 亚洲福利电影网| 色综合色综合色综合| 国产精品丝袜一区| 成人精品在线视频观看| 久久久99久久| youjizz国产精品| 国产精品福利av| 一本大道久久a久久精品综合| 亚洲欧美一区二区三区孕妇| 成人免费黄色大片| 亚洲欧美另类久久久精品| 色妹子一区二区| 日韩综合小视频| 欧美精品一区二区三区在线| 国产成人av网站| 午夜精品久久久久久久99水蜜桃 | 国产高清不卡一区二区| 国产精品全国免费观看高清 | 麻豆一区二区三区| 国产清纯白嫩初高生在线观看91 | 男人的天堂亚洲一区| 日韩免费看网站| av电影在线不卡| 丝袜美腿一区二区三区| 久久久久亚洲蜜桃| 色8久久精品久久久久久蜜| 日韩成人免费看| 国产亚洲1区2区3区| 色婷婷久久久久swag精品| 久久超碰97人人做人人爱| 亚洲品质自拍视频| 欧美tickle裸体挠脚心vk| 99re66热这里只有精品3直播 | 日韩你懂的在线播放| 丁香网亚洲国际| 久久精品国产免费| 亚洲国产cao| 日日欢夜夜爽一区| 精品国产乱码91久久久久久网站| 95精品视频在线| 国产精品综合一区二区| 亚洲二区视频在线| 亚洲精品欧美激情| 国产日韩av一区| 国产亚洲一二三区| 久久色成人在线| 久久伊人蜜桃av一区二区| 日韩欧美的一区| 欧美va日韩va| 亚洲国产成人自拍| 欧美—级在线免费片| 国产精品每日更新| 中文字幕精品在线不卡| 欧美激情一区二区| 自拍偷拍国产精品| 樱花影视一区二区| 亚洲r级在线视频| 免费人成黄页网站在线一区二区| 亚洲狠狠爱一区二区三区| 亚洲国产精品麻豆| 亚洲成人777| 国产美女精品一区二区三区| 久久 天天综合| 成人免费精品视频| 欧美人与禽zozo性伦| 日韩女优av电影| 成人欧美一区二区三区小说| 一区二区三区日韩精品视频| 日韩激情视频在线观看| 国模无码大尺度一区二区三区| 成人一区在线看| 日韩欧美久久一区| 亚洲视频香蕉人妖| 蜜臀av一区二区在线观看| 成人免费电影视频| 欧美精品久久一区| 国产精品热久久久久夜色精品三区| 亚洲在线视频免费观看| 久久精品国产99国产| 欧美猛男超大videosgay| 中文字幕乱码日本亚洲一区二区| 日韩高清一区在线| 色综合久久综合中文综合网| 精品国产成人系列| 人人狠狠综合久久亚洲| 成人国产免费视频| 国产日韩精品视频一区| 青青草国产成人99久久| 色诱视频网站一区| 亚洲男人的天堂在线观看| 国产激情视频一区二区三区欧美 | 国产一区二区福利| 91福利视频网站| 亚洲综合激情小说| 色综合欧美在线视频区| 国产精品久久久久久久久免费相片| 精品在线观看免费| 91精品国产一区二区| 日本强好片久久久久久aaa| 欧美日韩中文精品| 麻豆精品新av中文字幕| 日韩午夜激情av| 国产精品白丝av| 亚洲欧美国产高清| 欧美在线观看禁18| 日韩av电影免费观看高清完整版在线观看| 在线观看中文字幕不卡| 美女一区二区在线观看| 久久天天做天天爱综合色| 成人免费不卡视频| 婷婷国产在线综合| 日韩精品一区二区在线观看| 国产乱国产乱300精品| 中文字幕一区在线| 欧美一区二区在线免费观看| 精品在线观看免费| 亚洲欧美色一区| 精品福利av导航| 欧美日韩精品一区二区三区| 欧美a级理论片| 亚洲激情六月丁香| 久久你懂得1024| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲国产高清在线观看视频| 欧美色图第一页| 91香蕉视频污在线| 国产91精品入口| 美女视频黄 久久| 亚洲国产va精品久久久不卡综合| 久久久久久日产精品| 91精品在线免费观看| 色欧美片视频在线观看| jlzzjlzz亚洲日本少妇| 国产乱子伦视频一区二区三区| 亚洲大片精品永久免费| 一二三区精品视频| 亚洲日本va在线观看| 国产精品福利影院| 国产精品久久久久久久久免费相片| 久久久久国产精品麻豆 | 精品一区二区综合| 国产在线精品免费| 国产一区二区三区综合| 精品一区二区国语对白| 国内成人精品2018免费看| 狠狠色综合日日| 成人不卡免费av| 日本大香伊一区二区三区| 日本韩国欧美三级| 欧美一级免费大片| 国产亚洲一二三区| 亚洲激情成人在线| 婷婷开心久久网| 国产成人啪免费观看软件| 成人久久18免费网站麻豆| 91久久国产最好的精华液| 欧美视频精品在线观看| 精品久久一区二区| 亚洲色图视频网站| 蜜臀久久99精品久久久久久9 | 国产婷婷色一区二区三区在线| 欧美激情一区不卡| 日韩中文字幕麻豆| 成人av在线影院| 久久综合狠狠综合久久综合88| 国产精品久久精品日日| 久久精品国产亚洲一区二区三区| 成人综合婷婷国产精品久久免费|