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

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

?? patch.c

?? 一個類似與Windows環境下的softice的源代碼
?? C
字號:
/****************************************************************************** * * Copyright (c) 2003 Gerhard W. Gruber * * PROJECT: pICE * $Source: /cvsroot/pice/pice/module/patch.c,v $ * $Revision: 1.5 $ * $Date: 2004/02/17 23:07:37 $ * $Author: lightweave $ * $Name:  $ * * $Log: patch.c,v $ * Revision 1.5  2004/02/17 23:07:37  lightweave * * Improved the DEBUG facillity and replaced the configuration handler with a * new code which now can read MS Windows INI style files. See CHANGES.txt for * more details. * Also added a macro which prevents compiling for kernels before 2.4.19. * * Revision 1.4  2003/06/18 22:00:22  lightweave * DEBUG and DEBUG_SERIAL added * * *****************************************************************************/static char *ident = "$Header: /cvsroot/pice/pice/module/patch.c,v 1.5 2004/02/17 23:07:37 lightweave Exp $";/*++Copyright (c) 1998-2001 Klaus P. GerlicherModule Name:    patch.cAbstract:    hooking of kernel internal keyboard interrupt handlerEnvironment:    Kernel mode onlyAuthor:    Klaus P. GerlicherRevision History:    10-Jul-1999:	created    15-Nov-2000:    general cleanup of source filesCopyright notice:  This file may be distributed under the terms of the GNU Public License.--*/////////////////////////////////////////////////////// INCLUDES////#include "remods.h"#include <asm/system.h>#include "precomp.h"#include "utils.h"////////////////////////////////////////////////////// GLOBALS////PUCHAR pPatchAddress;ULONG ulOldOffset = 0;ULONG ulKeyPatchFlags;BOOLEAN g_bKeyboardDriverPatched = FALSE;void (*old_handle_scancode)(unsigned char,int);UCHAR ucBreakKey = 'F'; // key that will break into debugger in combination with CTRL////////////////////////////////////////////////////// FUNCTIONS//////************************************************************************* // HandleHotKey() // //************************************************************************* void HandleHotKey(EXCEPTION_FRAME* pFrame){	ulSingleStepCondition |= SINGLE_STEP_CONDITION_HOTKEY;	pFrame->eflags |= TF_FLAG;}//************************************************************************* // pice_handle_scancode() // // the keyboard hook////************************************************************************* void pice_handle_scancode(unsigned char scancode, int down){	UCHAR ucKey = scancode & 0x7f;	static BOOLEAN bControl = FALSE;	BOOLEAN bForward=TRUE;    ENTER_FUNC();    DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "pice_handle_scancode(%x,%x)\n", scancode, down);    DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "bControl = %u bForward = %u\n",bControl,bForward);	if(!(scancode & 0x80))	{        // CTRL pressed		if(ucKey==0x1d)		{		    DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO , "pice_handle_scancode(%x,%x): CTRL pressed\n",scancode,down);			bControl=TRUE;		}		else if(bControl==TRUE && ucKey==AsciiToScan(ucBreakKey)) // CTRL-F		{		    DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "pice_handle_scancode(%x,%x): enter sequence detected\n",scancode,down);            // fake a CTRL-F release call			old_handle_scancode(0x1d | 0x80,0);			bForward=FALSE;            // simulate an initial break 			DebuggerHotkey();			bControl=FALSE;		}	}	else	{        // CTRL released		if(ucKey==0x1d)		{		    DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "pice_handle_scancode(%x,%x): CTRL released\n",scancode,down);			bControl=FALSE;		}    }    if(bForward)    {        DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "pice_handle_scancode(): forwarding key stroke\n");	    old_handle_scancode(scancode,down);    }    LEAVE_FUNC();}//************************************************************************* // PatchKeyboardDriver() // //************************************************************************* BOOLEAN PatchKeyboardDriver(ULONG AddrOfKbdEvent,ULONG AddrOfScancode){#ifdef ACTIVATE_KEYBOARD_PATCHING	UCHAR ucPattern[5] = {0xE8,0x0,0x0,0x0,0x0};	PULONG pOffset = (PULONG)&ucPattern[1];	ULONG ulOffset,countBytes = 0;    ENTER_FUNC();	(void*)old_handle_scancode = AddrOfScancode;    DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "handle_scancode = %X\n",AddrOfScancode);	pPatchAddress = (PUCHAR)AddrOfKbdEvent; // handle_kbd_event    DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "initial patch address = %X\n",AddrOfKbdEvent);    ulOffset = (ULONG)old_handle_scancode - ((ULONG)pPatchAddress+sizeof(ULONG)+1);    DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "initial offset = %X\n",ulOffset);	*pOffset = ulOffset;	while((memcmp(pPatchAddress,ucPattern,sizeof(ucPattern))!=0) &&	      (countBytes<0x1000))	{        DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "offset = %X\n",ulOffset);        DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "patch address = %p\n", pPatchAddress);        DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "pattern1 = %.2X %.2X %.2X %.2X %.2X\n",ucPattern[0],ucPattern[1],ucPattern[2],ucPattern[3],ucPattern[4]);        DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "pattern2 = %.2X %.2X %.2X %.2X %.2X\n",pPatchAddress[0],pPatchAddress[1],pPatchAddress[2],pPatchAddress[3],pPatchAddress[4]);		countBytes++;		pPatchAddress++;		ulOffset = (ULONG)old_handle_scancode - ((ULONG)pPatchAddress+sizeof(ULONG)+1);		*pOffset = ulOffset;	}		if(memcmp(pPatchAddress,ucPattern,sizeof(ucPattern))==0)	{		DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "pattern found @ %p\n", pPatchAddress);				ulOffset = (ULONG)&pice_handle_scancode - ((ULONG)pPatchAddress+sizeof(ULONG)+1);		ulOldOffset = *(PULONG)(pPatchAddress + 1);		DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "old offset = %x new offset = %x\n",ulOldOffset,ulOffset);		save_flags(ulKeyPatchFlags);		cli();		*(PULONG)(pPatchAddress + 1) = ulOffset;		g_bKeyboardDriverPatched = TRUE;		restore_flags(ulKeyPatchFlags);		DPRINT(PICE_DEBUG, DBT_PATCH, DBL_INFO, "PatchKeyboardDriver(): SUCCESS!\n");	}    LEAVE_FUNC();    return g_bKeyboardDriverPatched;#else     return TRUE; // success though not installed#endif // ACTIVATE_KEYBOARD_PATCHING}//************************************************************************* // RestoreKeyboardDriver() // //************************************************************************* void RestoreKeyboardDriver(void){#ifdef ACTIVATE_KEYBOARD_PATCHING    ENTER_FUNC();	if(g_bKeyboardDriverPatched)	{		save_flags(ulKeyPatchFlags);		cli();		*(PULONG)(pPatchAddress + 1) = ulOldOffset;		restore_flags(ulKeyPatchFlags);	}    LEAVE_FUNC();#endif // ACTIVATE_KEYBOARD_PATCHING} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利社在线观看| 91国内精品野花午夜精品| 亚洲一区二区免费视频| 自拍偷拍亚洲激情| 国产精品久久久久一区二区三区| 日韩精品影音先锋| 日韩一区二区三区三四区视频在线观看 | 欧美一区二区三区小说| 欧美视频中文一区二区三区在线观看| 色综合天天性综合| 欧美亚洲国产一区在线观看网站| 91美女在线看| 91黄视频在线| 欧美亚洲动漫精品| 91精品国模一区二区三区| 日韩欧美一区在线| 欧美国产精品专区| 亚洲欧美日韩电影| 亚洲成av人片一区二区三区| 首页国产欧美久久| 国产一区二区成人久久免费影院| 成人av免费观看| 欧美视频自拍偷拍| 精品av久久707| 国产精品久久久久四虎| 一区二区三区久久久| 蜜臀av一级做a爰片久久| 国产精品911| 在线欧美小视频| 欧美大片拔萝卜| 亚洲男同性视频| 精品一区二区三区在线观看| 成人久久视频在线观看| 欧美日本乱大交xxxxx| 国产欧美日产一区| 午夜精品一区二区三区电影天堂| 国产一区二区导航在线播放| 欧美色爱综合网| 久久综合九色欧美综合狠狠 | 日韩电影一区二区三区| 麻豆成人免费电影| 色综合久久久久久久| 日韩欧美国产精品一区| 亚洲女人的天堂| 国产一区二区精品久久91| 欧美日韩不卡一区| 日韩一区在线播放| 久草精品在线观看| 欧美精品日韩综合在线| 亚洲视频一区二区在线| 国产高清成人在线| 欧美一级xxx| 亚洲免费观看高清完整| 国产自产视频一区二区三区| 337p亚洲精品色噜噜噜| 亚洲欧美视频一区| 国产91对白在线观看九色| 日韩网站在线看片你懂的| 亚洲影视在线播放| 色视频欧美一区二区三区| 中文字幕欧美国产| 国产一区二区三区高清播放| 欧美日本乱大交xxxxx| 亚洲一区二区三区爽爽爽爽爽 | 欧洲人成人精品| 国产精品私人自拍| 国产精品资源网| 精品国产污污免费网站入口 | 国产曰批免费观看久久久| 欧美久久一二区| 午夜欧美电影在线观看| 欧美伊人精品成人久久综合97| 亚洲国产日韩在线一区模特| 91久久奴性调教| 综合欧美一区二区三区| 99国内精品久久| 国产剧情一区在线| 91精品国产综合久久蜜臀| 婷婷综合另类小说色区| 欧美猛男男办公室激情| 日韩国产精品久久久| 欧美一区日韩一区| 麻豆免费看一区二区三区| 欧美一区二区在线看| 麻豆国产精品官网| 国产午夜精品久久久久久免费视 | 亚洲视频在线观看一区| 99riav一区二区三区| 亚洲美女屁股眼交| 欧美日本一区二区| 日韩avvvv在线播放| 欧美成人性战久久| 成人一级片网址| 亚洲小说春色综合另类电影| 欧美日韩一区二区三区四区五区 | 亚洲精品国产无套在线观| 一本久久综合亚洲鲁鲁五月天 | 欧美激情一区在线观看| 色偷偷一区二区三区| 亚洲123区在线观看| 欧美大肚乱孕交hd孕妇| 成人福利电影精品一区二区在线观看| 亚洲女同ⅹxx女同tv| 欧美一区二区在线不卡| 国产激情91久久精品导航| 亚洲综合视频在线| 久久尤物电影视频在线观看| 91网站在线观看视频| 无码av中文一区二区三区桃花岛| 精品理论电影在线观看| a4yy欧美一区二区三区| 青青草国产成人av片免费| 中文成人av在线| 在线不卡a资源高清| bt欧美亚洲午夜电影天堂| 日欧美一区二区| 国产精品久久久久久久蜜臀| 日韩午夜精品视频| 91在线porny国产在线看| 免费在线看一区| 亚洲男人电影天堂| 国产性色一区二区| 51久久夜色精品国产麻豆| av一二三不卡影片| 国产一区二区三区四区五区美女| 亚洲免费在线视频一区 二区| 欧美v日韩v国产v| 91.麻豆视频| 在线亚洲免费视频| 国产成人自拍在线| 九九国产精品视频| 水野朝阳av一区二区三区| 国产精品国产三级国产aⅴ原创 | 2020国产精品自拍| 欧美日韩国产片| 日本道在线观看一区二区| av午夜一区麻豆| 岛国av在线一区| 国产精品白丝jk白祙喷水网站| 开心九九激情九九欧美日韩精美视频电影 | 看片网站欧美日韩| 免费观看成人av| 图片区小说区区亚洲影院| 亚洲视频一区二区免费在线观看| 欧美国产精品专区| 国产女主播一区| 国产喷白浆一区二区三区| 精品国产精品一区二区夜夜嗨 | 国产一区二区三区免费在线观看| 亚洲电影欧美电影有声小说| 亚洲一区二区av电影| 亚洲无人区一区| 亚洲永久精品大片| 三级久久三级久久久| 免费精品视频在线| 韩国一区二区在线观看| 精品一区二区免费看| 国产一区二区三区日韩| 国产成人精品aa毛片| 国产99久久精品| 北条麻妃一区二区三区| 99精品久久只有精品| 色婷婷久久久亚洲一区二区三区| 在线精品视频一区二区| 在线视频你懂得一区二区三区| 欧美网站大全在线观看| 欧美一区日本一区韩国一区| wwww国产精品欧美| 国产精品美女久久久久久久久久久| 亚洲欧洲日产国码二区| 亚洲最大色网站| 免费看日韩精品| 丁香一区二区三区| 日本乱人伦一区| 欧美一区二区三区在线| 国产亚洲精品7777| 一区二区三区四区视频精品免费| 亚洲午夜免费福利视频| 美女网站视频久久| 不卡一卡二卡三乱码免费网站| 91蜜桃免费观看视频| 日韩写真欧美这视频| 国产精品久久久久影院色老大| 亚洲精选视频免费看| 麻豆精品视频在线观看免费| www.色综合.com| 91精品国产综合久久久久久久久久 | 欧美在线不卡视频| 日韩精品一区二区在线观看| 国产精品毛片大码女人| 三级成人在线视频| 成人av午夜影院| 日韩精品一区二区三区四区视频| 国产精品无圣光一区二区| 日韩中文字幕区一区有砖一区 | 亚洲精品欧美激情| 久久精品国产99国产| 色天天综合久久久久综合片| 久久网站热最新地址| 亚洲福利视频三区|