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

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

?? asm_stubs.asm

?? 一個類似與Windows環境下的softice的源代碼
?? ASM
字號:
;/*++;;Copyright (c) 1998-2001 Klaus P. Gerlicher;;Module Name:;;    asm_stubs.asm;;Abstract:;;    assembler stubs to C functions;;Environment:;;    LINUX 2.2.X;    Kernel mode only;;Author: ;;    Klaus P. Gerlicher;;Revision History:;;    02-Mar-2001:	created;;Copyright notice:;;  This file may be distributed under the terms of the GNU Public License.;;--*/;==============================================================================; Define imported data and functions;==============================================================================extern HandleEntryextern ulOldTraceHandlerextern ulOldBreakpointHandlerextern ulOldPageFaultHandlerextern ulOldGPFaultHandlerextern ulOldSyscallHandler;==============================================================================; Defines;==============================================================================REASON_INT3					equ     (0)REASON_SINGLESTEP			equ     (1)REASON_HOTKEY				equ     (2)REASON_PAGEFAULT			equ     (3)REASON_GP_FAULT				equ     (4)REASON_HARDWARE_BP			equ     (5)REASON_DOUBLE_FAULT			equ     (6)REASON_MODULE_LOAD			equ     (7)REASON_INTERNAL_ERROR		equ     (8)REASON_SYSCALL				equ     (9)REASON_STACK_FAULT			equ     (10)REASON_INVALID_OPCODE_FAULT	equ		(11)REASON_DIVBYZERO_FAULT	    equ		(12)REASON_TIMER			    equ		(13)REASON_NMI                  equ		(14)REASON_NOT_PRESENT          equ		(15)REASON_ALIGNMENT			equ		(16)REASON_BOOT_PARAMS			equ		(17)REASON_OTHER_CPU			equ		(18);==============================================================================; Functions;==============================================================================;==============================================================================; FlushCacheAndTLB;;==============================================================================align 4global FlushCacheAndTLBFlushCacheAndTLB:	push eax	mov eax,cr3	mov cr3,eax	wbinvd	pop eax	ret;======================================================================; DebuggerTrace ; ; handle INT1 irqs;;======================================================================align 4global DebuggerTraceDebuggerTrace:    push eax	mov eax,dr6	test eax,(1<<14)    pop eax	jz exceptionnotsinglestep 	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_SINGLESTEP    jmp DebuggerEntryexceptionnotsinglestep:	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_HARDWARE_BP    jmp DebuggerEntry;======================================================================; DebuggerSyscall();; handle syscall (int 0x80) so we can see process creation/destruction;;======================================================================align 4global DebuggerSyscallDebuggerSyscall:	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_SYSCALL	; call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerTimer();;;======================================================================align 4global DebuggerTimerDebuggerTimer:	; setup IRETD return address    pushfd	push cs	push DWORD DebuggerTimerReturnPoint	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_TIMER	; call debugger loop	jmp DebuggerEntryDebuggerTimerReturnPoint:	ret;======================================================================; DebuggerHotkey();;;======================================================================align 4global DebuggerHotkeyDebuggerHotkey:	; setup IRETD return address    pushfd	push cs	push DWORD DebuggerHotkeyReturnPoint	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_HOTKEY	; call debugger loop	jmp DebuggerEntryDebuggerHotkeyReturnPoint:	ret;======================================================================; DebuggerBootParams();;;======================================================================align 4global DebuggerBootParamsDebuggerBootParams:	; setup IRETD return address    pushfd	push cs	push DWORD DebuggerBootParamsReturnPoint	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_BOOT_PARAMS	; call debugger loop	jmp DebuggerEntryDebuggerBootParamsReturnPoint:	ret;======================================================================; DebuggerBreakpoint() ;;======================================================================align 4global DebuggerBreakpointDebuggerBreakpoint:	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_INT3	; call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerAlignment() ;;======================================================================align 4global DebuggerAlignmentDebuggerAlignment:	; push reason code    push DWORD REASON_ALIGNMENT	; call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerDoubleFault() ;;======================================================================align 4global DebuggerDoubleFaultDebuggerDoubleFault:	; push reason code    push DWORD REASON_DOUBLE_FAULT	; call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerPageFault() ; ;======================================================================align 4global DebuggerPageFaultDebuggerPageFault:	; push reason code    push DWORD REASON_PAGEFAULT	; call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerGeneralProtectionFault() ;;======================================================================align 4global DebuggerGeneralProtectionFaultDebuggerGeneralProtectionFault:	; push reason code    push DWORD REASON_GP_FAULT	;call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerStackFault() ;;======================================================================align 4global DebuggerStackFaultDebuggerStackFault:	; push reason code    push DWORD REASON_STACK_FAULT	;call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerInvalidOpcodeFault() ;;======================================================================align 4global DebuggerInvalidOpcodeFaultDebuggerInvalidOpcodeFault:	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_INVALID_OPCODE_FAULT	;call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerDivideByZeroFault() ;;======================================================================align 4global DebuggerDivideByZeroFaultDebuggerDivideByZeroFault:	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_DIVBYZERO_FAULT	;call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerNmiFault() ;;======================================================================align 4global DebuggerNmiFaultDebuggerNmiFault:	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_NMI	;call debugger loop	jmp DebuggerEntry;======================================================================; DebuggerNotPresentFault() ;;======================================================================align 4global DebuggerNotPresentFaultDebuggerNotPresentFault:	; push reason code    push DWORD REASON_NOT_PRESENT	;call debugger loop	jmp DebuggerEntry;======================================================================; Debugger2ndProcessor() ;;======================================================================align 4global Debugger2ndProcessorDebugger2ndProcessor:	; setup IRETD return address    pushfd	push cs	push DWORD Debugger2ndProcessorReturnPoint	; push fake error code	push DWORD 0	; push reason code    push DWORD REASON_OTHER_CPU	;call debugger loop	jmp DebuggerEntryDebugger2ndProcessorReturnPoint:	ret;==============================================================================; DebuggerEntry;; handle entry into debugger;;==============================================================================align 4global DebuggerEntryDebuggerEntry:		; save registers	; !!! 	; NEVER EVER CHANGE THIS ORDER, IT'S A FIXED STRUCTURE	; !!!	pushad	push ds	push es	; FS,GS,SS are not changed by shell	push fs	push gs	push ss	; setup right selectors	mov ax,ss	mov ds,ax	mov es,ax	; go forward on string instruction, GCC needs that	cld	; push the frame pointer and call C routine	push esp	call HandleEntry	; remove call param, caller cleans up stack 	; restore registers	; !!! 	; NEVER EVER CHANGE THIS ORDER, IT'S A FIXED STRUCTURE	; !!!	add esp,byte 16	pop es	pop ds	;-------------------------------------------------------------------    ; do we need to call old syscall handler    cmp eax,REASON_SYSCALL    jne exit_not_syscall	; restore the register set	popad	; remove our artificial error code and reason code as we're called from a stub 	add esp,byte 8	; call old syscall handler	db 0x2e	jmp [ulOldSyscallHandler]exit_not_syscall:	;-------------------------------------------------------------------    ; do we need to call old INT1 handler    cmp eax,REASON_SINGLESTEP    jne exit_not_singlestep	; restore the register set	popad	; remove our artificial error code and reason code as we're called from a stub 	add esp,byte 8    ; call INT1 handler    db 0x2e    jmp [ulOldTraceHandler]exit_not_singlestep:	;-------------------------------------------------------------------    ; do we need to call old INT1 handler    cmp eax,REASON_HARDWARE_BP    jne exit_not_hardware_bp	; restore the register set	popad	; remove our artificial error code and reason code as we're called from a stub 	add esp,byte 8    ; call INT1 handler    db 0x2e    jmp [ulOldTraceHandler]exit_not_hardware_bp:	;-------------------------------------------------------------------	; do we need to call old INT3 handler    cmp eax,REASON_INT3    jne exit_not_int3	; restore the register set	popad	; remove our artificial error code and reason code as we're called from a stub 	add esp,byte 8		; call INT3 handler    db 0x2e    jmp [ulOldBreakpointHandler]	exit_not_int3:	;-------------------------------------------------------------------     ; do we need to call old pagefault handler    cmp eax,REASON_PAGEFAULT    jne exit_not_pagefault	; restore the register set	popad	; remove our reason code as we're called from a stub 	add esp,byte 4	; call old pagefault handler	db 0x2e    jmp [ulOldPageFaultHandler]exit_not_pagefault:	;-------------------------------------------------------------------    ; do we need to call old general protection fault handler    cmp eax,REASON_GP_FAULT    jne exit_not_gpfault	; restore the register set	popad	; remove our reason code as we're called from a stub 	add esp,byte 4    ; call old pagefault handler	db 0x2e    jmp [ulOldGPFaultHandler]exit_not_gpfault:	;-------------------------------------------------------------------	; simply returning (HOTKEY,TIMER)	; restore the register set	popad	; remove our artificial error code and reason code as we're called from a stub 	add esp,byte 8	iretd;= DebuggerEntry ======================================================;======================================================================; EOF;======================================================================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一道本在线| 亚洲精品一区二区三区四区高清| 欧美亚洲综合久久| 日韩欧美高清一区| 亚洲综合视频在线观看| 国产精品1024久久| 69av一区二区三区| 一区二区三区欧美久久| 不卡一区在线观看| 久久久久九九视频| 精品一区二区国语对白| 欧美喷水一区二区| 亚洲精品亚洲人成人网| 成人动漫一区二区| 久久亚洲一区二区三区明星换脸| 香蕉成人啪国产精品视频综合网| eeuss国产一区二区三区| 久久夜色精品国产欧美乱极品| 日本成人在线视频网站| 欧美日韩日日摸| 亚洲国产精品久久久久婷婷884| 成人午夜视频在线观看| 久久嫩草精品久久久精品一| 韩国精品在线观看| 欧美mv日韩mv国产网站app| 男男视频亚洲欧美| 91麻豆精品久久久久蜜臀| 性做久久久久久免费观看| 欧美中文字幕亚洲一区二区va在线 | 国产黄人亚洲片| 久久这里只有精品6| 韩国av一区二区三区四区| 精品国产一区二区在线观看| 蜜桃视频在线观看一区| 精品国产a毛片| 极品少妇xxxx精品少妇偷拍| 精品成人免费观看| 国产在线一区二区综合免费视频| 欧美mv日韩mv| 风间由美一区二区三区在线观看 | 亚洲欧洲日韩女同| 97se亚洲国产综合自在线| 中文字幕一区在线| 在线视频亚洲一区| 三级久久三级久久久| 日韩欧美在线综合网| 狠狠色狠狠色合久久伊人| 国产日产欧美一区二区视频| 成人国产精品视频| 亚洲一区二区三区影院| 制服.丝袜.亚洲.中文.综合| 久久99国产精品久久99果冻传媒| 久久精品人人做人人爽人人| 成人av手机在线观看| 一区二区三区四区av| 69堂精品视频| 国产精品88888| 日韩一区精品字幕| 日韩欧美一二区| 激情偷乱视频一区二区三区| 中文av一区二区| 欧美性色欧美a在线播放| 日本一区中文字幕| 国产三级精品三级| 91首页免费视频| 美女mm1313爽爽久久久蜜臀| 国产亚洲精品超碰| 91污片在线观看| 日韩经典中文字幕一区| 国产日韩欧美a| 欧美在线一二三| 国产经典欧美精品| 婷婷久久综合九色综合绿巨人| 久久久久国产免费免费| 欧美日韩免费观看一区三区| 国产精品888| 日本美女一区二区| 亚洲精品视频免费观看| www国产亚洲精品久久麻豆| 91黄色免费看| 成人性生交大片免费看在线播放| 亚洲成人免费观看| 亚洲欧美另类久久久精品| 久久亚洲私人国产精品va媚药| 欧美体内she精视频| 成人av资源网站| 久热成人在线视频| 性做久久久久久久免费看| 亚洲欧美中日韩| 精品国产sm最大网站| 欧美猛男gaygay网站| 色综合天天综合网天天狠天天| 中文幕一区二区三区久久蜜桃| 日韩视频免费观看高清完整版| 色天使色偷偷av一区二区| 国产99久久精品| 久久福利视频一区二区| 日韩国产欧美在线视频| 夜夜爽夜夜爽精品视频| 成人欧美一区二区三区| 国产日本一区二区| 精品国产伦一区二区三区观看体验| 欧美性色欧美a在线播放| 91亚洲永久精品| 99久久久久久| 国产91精品免费| 另类专区欧美蜜桃臀第一页| 日韩和欧美的一区| 亚洲国产精品综合小说图片区| 亚洲视频在线一区| 亚洲免费在线视频| 国产精品久久久久久久久免费桃花| 久久久久国产精品麻豆| 久久久综合精品| 日韩免费视频线观看| 日韩欧美中文字幕一区| 日韩视频一区二区| 久久奇米777| 国产精品另类一区| 中文字幕一区二区日韩精品绯色| 国产精品污网站| 国产精品青草久久| 自拍偷拍国产精品| 亚洲卡通动漫在线| 一区二区三区四区五区视频在线观看| 中文在线资源观看网站视频免费不卡| 国产欧美一区二区三区在线看蜜臀 | 欧美人体做爰大胆视频| 欧美精品九九99久久| 欧美精品丝袜久久久中文字幕| 欧美高清性hdvideosex| 欧美一卡二卡在线| 精品久久一区二区三区| 国产三级精品三级| 一区二区三区色| 日韩国产精品久久久久久亚洲| 久久成人av少妇免费| 国产99精品在线观看| 一本大道综合伊人精品热热| 欧美日本在线播放| 26uuu亚洲| 亚洲精品中文字幕乱码三区| 午夜av一区二区三区| 激情综合网天天干| av动漫一区二区| 欧美精品三级日韩久久| 久久美女艺术照精彩视频福利播放| 国产日韩影视精品| 亚洲与欧洲av电影| 黄色日韩网站视频| 一本到一区二区三区| 精品久久人人做人人爽| 中文字幕一区三区| 免费观看一级欧美片| 不卡高清视频专区| 日韩欧美国产综合| 亚洲欧美综合另类在线卡通| 奇米777欧美一区二区| 成人国产亚洲欧美成人综合网| 欧美日韩一卡二卡三卡| 国产人妖乱国产精品人妖| 午夜婷婷国产麻豆精品| 国产91丝袜在线播放九色| 欧美日韩成人综合天天影院| 久久久亚洲午夜电影| 亚洲国产wwwccc36天堂| 国产91对白在线观看九色| 欧美三区在线观看| 国产免费久久精品| 美女久久久精品| 91福利国产精品| 国产欧美一区二区三区网站 | 久久爱另类一区二区小说| 91在线porny国产在线看| 精品日韩欧美在线| 午夜精品免费在线观看| 成人激情小说网站| 日韩欧美国产三级电影视频| 亚洲高清免费视频| 99在线精品视频| 久久久久久久久99精品| 蜜臀精品久久久久久蜜臀| 欧美亚洲自拍偷拍| 亚洲欧洲精品一区二区三区不卡| 国产一区二区三区免费在线观看| 欧美日韩精品免费观看视频| 亚洲视频一二三| 国产成人精品亚洲777人妖| 日韩小视频在线观看专区| 水野朝阳av一区二区三区| 欧洲色大大久久| 亚洲视频一二三| 色哟哟亚洲精品| 国产精品不卡一区二区三区| 国产成人精品三级麻豆| 久久精品日产第一区二区三区高清版| 国产在线视频不卡二| 欧美草草影院在线视频| 久久精品国产精品青草| 日韩精品一区二区三区在线观看 |