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

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

?? parse.c

?? 一個類似與Windows環境下的softice的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
					        tempCmd[j*2]=' ';					        tempCmd[j*2+1]=' ';                    }			    }		    }            strcat(tempCmd,"\n");            if(ulWindowOffset)            {                LONG len = PICE_strlen(tempCmd);                if(ulWindowOffset < len)                    PICE_memcpy(tempCmd,&tempCmd[ulWindowOffset],len-ulWindowOffset);                else                    tempCmd[0]='\n';            }		    Print(SOURCE_WINDOW,tempCmd);            if(addrbefore==pFrame->eip)		    {			    ResetColor();		    }		    // if potential SW breakpoint, undo marked text		    if(IsSwBpAtAddress(addrbefore))		    {				HatchLine(wWindow[SOURCE_WINDOW].y+i);		    }		    		    // if breakpoint was installed before disassembly, put it back		    if(bSWBpAtAddr)		    {			    ReInstallSWBreakpoint(addrbefore);		    }	    }        if(ulLastDisassStartAddress==0 && ulLastDisassEndAddress==0)        {            ulLastDisassStartAddress=addrstart;            ulLastDisassEndAddress=addr;        }	    if(!IsAddressValid(addrstart))	    {            ulLastDisassStartAddress=0;            ulLastDisassEndAddress=0;	    }    }	EnableScroll(SOURCE_WINDOW);Quit:	LEAVE_FUNC();	return TRUE;}//*************************************************************************// ShowModules()////*************************************************************************COMMAND_PROTOTYPE(ShowModules){	struct module *pMod;	ENTER_FUNC();    if(pmodule_list)    {        pMod = pmodule_list;        do        {			if(pMod->size)			{                if(pMod == pCurrentMod)                {				    PICE_sprintf(tempCmd,"%.8X - %.8X *%-32s (%6u symbols @ %.8X)\n",						    (unsigned int)pMod,						    (unsigned int) ((unsigned int)pMod+pMod->size),pMod->name,pMod->nsyms,pMod->syms);                }                else                {				    PICE_sprintf(tempCmd,"%.8X - %.8X  %-32s (%6u symbols @ %.8X)\n",						    (unsigned int)pMod,						    (unsigned int) ((unsigned int)pMod+pMod->size),pMod->name,pMod->nsyms,pMod->syms);                }			}			else			{				PICE_sprintf(tempCmd,"%.8X - %.8X  vmlinux                          (%6u symbols @ %.8X)\n",						(unsigned int)pMod,						kernel_end,pMod->nsyms,pMod->syms);			}            Print(OUTPUT_WINDOW,tempCmd);			if(WaitForKey()==FALSE)				break;         }while((pMod = pMod->next));    }	LEAVE_FUNC();	return TRUE;}//*************************************************************************// DecodeVmFlags()////*************************************************************************LPSTR DecodeVmFlags(ULONG flags){    ULONG i;/*#define VM_READ		0x0001	#define VM_WRITE	0x0002#define VM_EXEC		0x0004#define VM_SHARED	0x0008#define VM_MAYREAD	0x0010	#define VM_MAYWRITE	0x0020#define VM_MAYEXEC	0x0040#define VM_MAYSHARE	0x0080#define VM_GROWSDOWN	0x0100	#define VM_GROWSUP	0x0200#define VM_SHM		0x0400	#define VM_DENYWRITE	0x0800	#define VM_EXECUTABLE	0x1000#define VM_LOCKED	0x2000#define VM_IO           0x4000  #define VM_STACK_FLAGS	0x0177*/    static LPSTR flags_syms_on[]={"R","W","X","S","MR","MW","MX","MS","GD","GU","SHM","exe","LOCK","IO",""};    static char temp[256];    // terminate string    *temp = 0;    if(flags == VM_STACK_FLAGS)    {        strcpy(temp," (STACK)");    }    else    {        for(i=0;i<15;i++)        {            if(flags&0x1)            {                strcat(temp," ");                strcat(temp,flags_syms_on[i]);            }            flags >>= 1;        }    }    return temp;}//*************************************************************************// ShowVirtualMemory()////*************************************************************************COMMAND_PROTOTYPE(ShowVirtualMemory){	struct mm_struct *mm;    struct vm_area_struct * vma;	char flbuf[5], *cp;	int flags;	char filename[17];	ENTER_FUNC();    mm = current->mm;    if(mm && (mm != my_init_mm))    {		if(mm->mmap)		{			if(pArgs->Count == 0)			{				SetForegroundColor(COLOR_TEXT);				SetBackgroundColor(COLOR_CAPTION);				PutStatusText("START    END      VMA      FLAGS");				ResetColor();				for(vma = mm->mmap;vma;vma = vma->vm_next)				{					flags = vma->vm_flags;					cp = flbuf;					*cp++ = flags & VM_READ ? 'r' : '-';					*cp++ = flags & VM_WRITE ? 'w' : '-';					*cp++ = flags & VM_EXEC ? 'x' : '-';					*cp++ = flags & VM_MAYSHARE ? 's' : 'p';					*cp++ = 0;					*filename = 0;					if(vma->vm_file)					{						unsigned char *name = vma->vm_file->f_dentry->d_iname;						PICE_memcpy(filename,name,16);						filename[16] = 0;					}					PICE_sprintf(tempCmd,"%.8X %.8X %.8X %s %s\n",						vma->vm_start,						vma->vm_end,#if LINUX_VERSION_CODE < 0x020400						vma->vm_offset,#else // LINUX_VERSION_CODE 						vma->vm_pgoff << PAGE_SHIFT,#endif // LINUX_VERSION_CODE 						flbuf,filename);					Print(OUTPUT_WINDOW,tempCmd);										if(WaitForKey()==FALSE)break;				}			}		}		else			Print(OUTPUT_WINDOW,"no memory map!\n");    }	else		Print(OUTPUT_WINDOW,"no context!\n");	LEAVE_FUNC();    return TRUE;}//*************************************************************************// Ver()////*************************************************************************COMMAND_PROTOTYPE(Ver){	ULONG ulFreeMem,ulAllocMem;	// get memory size	GetMemoryStatus(&ulFreeMem,&ulAllocMem);    PICE_sprintf(tempCmd,"pICE: version %u.%u (build %u) for Linux kernel release %s\n",                 PICE_MAJOR_VERSION,                 PICE_MINOR_VERSION,                 PICE_BUILD,                 UTS_RELEASE);	Print(OUTPUT_WINDOW,tempCmd);    PICE_sprintf(tempCmd,"pICE: loaded on %s kernel release %s\n",		system_utsname.sysname,		system_utsname.release);	Print(OUTPUT_WINDOW,tempCmd);	Print(OUTPUT_WINDOW,"pICE: written and (C) 1998-2001 by Klaus P. Gerlicher\n");    PICE_sprintf(tempCmd,"pICE: number of CPUs = %u \n", smp_num_cpus );	Print(OUTPUT_WINDOW,tempCmd);    PICE_sprintf(tempCmd,"pICE: total memory = %u (%u MB)\n", ulFreeMem + ulAllocMem,(ulFreeMem + ulAllocMem)/(1024*1024) );	Print(OUTPUT_WINDOW,tempCmd);    PICE_sprintf(tempCmd,"pICE: free  memory = %u (%u MB)\n", ulFreeMem,ulFreeMem/(1024*1024));	Print(OUTPUT_WINDOW,tempCmd);    PICE_sprintf(tempCmd,"pICE: alloc memory = %u (%u MB)\n", ulAllocMem,ulAllocMem/(1024*1024));	Print(OUTPUT_WINDOW,tempCmd);	return TRUE;}//*************************************************************************// Hboot()////*************************************************************************COMMAND_PROTOTYPE(Hboot){	// nudge the reset line through keyboard controller	__asm__(		"movb $0xFE,%al\n"		"outb %al,$0x64");	// never gets here	return TRUE;}//*************************************************************************// SetSrcDisplay()////*************************************************************************COMMAND_PROTOTYPE(SetSrcDisplay){    ARGS Args;	if(pArgs->Count==0)	{		bShowSrc=bShowSrc?FALSE:TRUE;        PICE_memset(&Args,0,sizeof(ARGS));        // make unassembler refresh all again         ulLastDisassStartAddress=ulLastDisassEndAddress=0;		Args.Count=0;		Unassemble(pFrame,&Args);	}	return TRUE;}//*************************************************************************// I3here()////*************************************************************************COMMAND_PROTOTYPE(I3here){	if(pArgs->Count==1)	{		if(pArgs->Value[0]==1)		{			if(!bInt3Here)			{				bInt3Here=TRUE;				Print(OUTPUT_WINDOW,"I3HERE is now ON\n");			}			else				Print(OUTPUT_WINDOW,"I3HERE is already ON\n");		}		else if(pArgs->Value[0]==0)		{			if(bInt3Here)			{				bInt3Here=FALSE;				Print(OUTPUT_WINDOW,"I3HERE is now OFF\n");			}			else				Print(OUTPUT_WINDOW,"I3HERE is already OFF\n");		}	}	else if(pArgs->Count==0)	{		if(bInt3Here)		{			Print(OUTPUT_WINDOW,"I3HERE is ON\n");		}		else		{			Print(OUTPUT_WINDOW,"I3HERE is OFF\n");		}	}	// never gets here	return TRUE;}#ifndef LINUX COMMAND_PROTOTYPE(I1here){	if(pArgs->Count==1)	{		if(pArgs->Value[0]==1)		{			if(!bInt1Here)			{				bInt1Here=TRUE;				Print(OUTPUT_WINDOW,"I1HERE is now ON\n");			}			else				Print(OUTPUT_WINDOW,"I1HERE is already ON\n");		}		else if(pArgs->Value[0]==0)		{			if(bInt1Here)			{				bInt1Here=FALSE;				Print(OUTPUT_WINDOW,"I1HERE is now OFF\n");			}			else				Print(OUTPUT_WINDOW,"I1HERE is already OFF\n");		}	}	else if(pArgs->Count==0)	{		if(bInt1Here)		{			Print(OUTPUT_WINDOW,"I1HERE is ON\n");		}		else		{			Print(OUTPUT_WINDOW,"I1HERE is OFF\n");		}	}	// never gets here	return TRUE;}#endif // LINUXCOMMAND_PROTOTYPE(NextInstr){    static char tempDisasm[256];    ULONG addr,addrbefore;	bNeedToFillBuffer=FALSE;	if(!pArgs->Count)	{		addr=addrbefore=GetLinearAddress(pFrame->cs,pFrame->eip);		DPRINT(PICE_DEBUG, DBT_PARSE, DBL_INFO, "addr before %.8X\n",addrbefore);		Disasm(&addr,tempDisasm);		DPRINT(PICE_DEBUG, DBT_PARSE, DBL_INFO, "addr after %.8X\n",addr);		pFrame->eip = pFrame->eip+(addr-addrbefore);		// display register contents		DisplayRegs(pFrame);		// unassemble		DPRINT(PICE_DEBUG, DBT_PARSE, DBL_INFO,  "new CS:EIP %04x:%08X\n", pFrame->cs, pFrame->eip);        PICE_memset(pArgs,0,sizeof(ARGS));        // make unassembler refresh all again         ulLastDisassStartAddress=ulLastDisassEndAddress=0;		pArgs->Count=2;		pArgs->Value[0]=(ULONG)pFrame->cs;		pArgs->Value[1]=pFrame->eip;		Unassemble(pFrame,pArgs);	}	bNeedToFillBuffer=TRUE;	return TRUE;}COMMAND_PROTOTYPE(SetGetRegisters){	ULONG i;	if(pArgs->Count==0)	{		// display whole set		for(i=0;RegKeyWords[i].GetValueFunc!=0;i++)		{			switch(RegKeyWords[i].ulSize)			{				case 1:					PICE_sprintf(tempCmd,"%s = %.8X\n",RegKeyWords[i].KeyWord,(UCHAR)(RegKeyWords[i].GetValueFunc(pFrame)));					break;				case 2:					PICE_sprintf(tempCmd,"%s = %.8X\n",RegKeyWords[i].KeyWord,(USHORT)(RegKeyWords[i].GetValueFunc(pFrame)));					break;				case 4:					PICE_sprintf(tempCmd,"%s = %.8X\n",RegKeyWords[i].KeyWord,(ULONG)(RegKeyWords[i].GetValueFunc(pFrame)));					break;			}			Print(OUTPUT_WINDOW,tempCmd);			if(WaitForKey()==FALSE)break;		}	}	else if(pArgs->Count==1)	{		// display selected register		for(i=0;RegKeyWords[i].GetValueFunc!=0;i++)		{			if(PICE_strcmpi(pArgs->pToken[0],RegKeyWords[i].KeyWord)==0)			{				switch(RegKeyWords[i].ulSize)				{					case 1:						PICE_sprintf(tempCmd,"%s = %.2X\n",RegKeyWords[i].KeyWord,(UCHAR)(RegKeyWords[i].GetValueFunc(pFrame)));						break;					case 2:						PICE_sprintf(tempCmd,"%s = %.4X\n",RegKeyWords[i].KeyWord,(USHORT)(RegKeyWords[i].GetValueFunc(pFrame)));						break;					case 4:						PICE_sprintf(tempCmd,"%s = %.8X\n",RegKeyWords[i].KeyWord,(ULONG)(RegKeyWords[i].GetValueFunc(pFrame)));						break;				}				Print(OUTPUT_WINDOW,tempCmd);				break;			}		}	}	else if(pArgs->Count==2)	{		// set selected register to value		for(i=0;RegKeyWords[i].GetValueFunc!=0;i++)		{			if(PICE_strcmpi(pArgs->pToken[0],RegKeyWords[i].KeyWord)==0)			{				switch(RegKeyWords[i].ulSize)				{					case 1:						RegKeyWords[i].SetValueFunc(pFrame,(UCHAR)pArgs->Value[1]);						break;					case 2:	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲激情六月丁香| 韩国在线一区二区| 久热成人在线视频| 91啪九色porn原创视频在线观看| 欧美日韩午夜在线视频| 国产精品毛片无遮挡高清| 人禽交欧美网站| 91性感美女视频| 国产香蕉久久精品综合网| 午夜激情久久久| 91色在线porny| 中文字幕av不卡| 国产成人精品免费看| 日韩欧美高清dvd碟片| 天堂久久久久va久久久久| 99久久精品国产麻豆演员表| 国产欧美日韩激情| 国产综合成人久久大片91| 91精品国产免费| 亚洲一二三四区不卡| 91蜜桃在线观看| 亚洲欧洲www| 99精品桃花视频在线观看| 久久久精品国产免费观看同学| 老司机精品视频导航| 91精品国产91久久综合桃花| 亚洲综合色婷婷| 在线观看不卡一区| 一区二区三区国产豹纹内裤在线 | 亚洲国产精品av| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲人成亚洲人成在线观看图片 | 69成人精品免费视频| 亚洲国产wwwccc36天堂| 在线观看免费一区| 午夜精品一区二区三区免费视频| 色屁屁一区二区| 亚洲午夜一区二区三区| 欧美在线|欧美| 日韩成人一区二区三区在线观看| 91精品国产综合久久精品图片 | 亚洲成人在线观看视频| 欧美日韩一区 二区 三区 久久精品| 夜夜操天天操亚洲| 欧美日韩激情一区二区| 看电视剧不卡顿的网站| 2022国产精品视频| 成人av在线电影| 亚洲综合一二区| 日韩一级精品视频在线观看| 国产老女人精品毛片久久| 欧美国产日韩精品免费观看| 97se亚洲国产综合自在线 | 中文字幕亚洲精品在线观看| 99国产精品国产精品久久| 亚洲五月六月丁香激情| 日韩一级高清毛片| 成人福利在线看| 日韩在线卡一卡二| 久久影院视频免费| 91久久精品国产91性色tv| 日韩**一区毛片| 欧美国产精品久久| 欧美日韩精品免费观看视频| 激情欧美日韩一区二区| 中文字幕一区二区三区在线观看| 欧美午夜精品一区二区三区| 久久精品国产久精国产爱| 国产精品福利电影一区二区三区四区| 一本大道久久a久久综合婷婷| 亚洲成人手机在线| 中文成人av在线| 欧美精品久久一区二区三区| 国产成人亚洲精品青草天美| 亚洲永久精品国产| 日本一区二区三区视频视频| 欧美日韩激情一区二区| 国产91精品一区二区| 亚洲bt欧美bt精品| 自拍偷拍亚洲综合| 日韩久久久精品| 精品视频全国免费看| 波多野结衣视频一区| 免费人成网站在线观看欧美高清| 国产精品久久久一本精品| 精品美女被调教视频大全网站| 91丨九色丨黑人外教| 国产一区不卡视频| 天天综合天天综合色| 亚洲色图制服诱惑| 国产亚洲精品aa午夜观看| 欧美一区二区三区婷婷月色| 色婷婷综合久久久中文一区二区| 精品一区二区三区欧美| 天天综合日日夜夜精品| 亚洲免费在线视频| 国产精品视频一二| 久久久久久久久久久久电影| 日韩午夜激情视频| 欧美妇女性影城| 欧美性一区二区| 色狠狠一区二区| 99久久精品免费| 成人97人人超碰人人99| 国产成人午夜视频| 国产精品888| 精品一区二区成人精品| 美腿丝袜一区二区三区| 日本sm残虐另类| 婷婷久久综合九色国产成人| 午夜伊人狠狠久久| 同产精品九九九| 青青青伊人色综合久久| 日日摸夜夜添夜夜添亚洲女人| 亚洲成va人在线观看| 午夜影院在线观看欧美| 轻轻草成人在线| 捆绑变态av一区二区三区 | 蜜臀99久久精品久久久久久软件| 亚洲国产视频直播| 首页欧美精品中文字幕| 日本伊人色综合网| 精品一区二区三区免费毛片爱| 久久se精品一区精品二区| 国产一区二区在线观看免费| 国产成人午夜视频| 白白色 亚洲乱淫| 91美女片黄在线观看91美女| 91精品办公室少妇高潮对白| 欧美日本一道本| 欧美不卡在线视频| 国产亚洲自拍一区| 亚洲精品国产无天堂网2021| 亚洲成av人片在线观看| 久久电影网电视剧免费观看| 国内成人精品2018免费看| 丁香亚洲综合激情啪啪综合| 不卡的av电影在线观看| 欧美日韩中字一区| 欧美电影免费观看高清完整版在线观看 | 国产亚洲制服色| 尤物av一区二区| 日韩av一区二区三区四区| 国产乱一区二区| 色猫猫国产区一区二在线视频| 欧美精品黑人性xxxx| 精品福利一区二区三区免费视频| 国产精品乱码一区二区三区软件| 亚洲愉拍自拍另类高清精品| 黄色日韩三级电影| 色婷婷综合久色| 久久久亚洲国产美女国产盗摄 | 欧美精品三级在线观看| 国产婷婷色一区二区三区| 夜夜操天天操亚洲| 国产精品主播直播| 欧美人与禽zozo性伦| 中国色在线观看另类| 日韩黄色小视频| 91片在线免费观看| 久久久国产精品麻豆| 日本人妖一区二区| 日本韩国一区二区三区| 国产日产欧美一区二区视频| 日韩精品1区2区3区| 97久久久精品综合88久久| 2欧美一区二区三区在线观看视频| 亚洲欧洲中文日韩久久av乱码| 黄色精品一二区| 欧美日韩aaaaa| 亚洲精品国产a| 床上的激情91.| 久久亚洲影视婷婷| 天天色 色综合| 91福利视频网站| 国产精品成人免费精品自在线观看| 秋霞影院一区二区| 欧美高清一级片在线| 亚洲欧美激情视频在线观看一区二区三区| 日本aⅴ免费视频一区二区三区| 91成人免费网站| 日韩美女视频一区二区| 成人激情免费电影网址| 久久欧美一区二区| 国产在线精品一区二区不卡了| 欧美精品一级二级三级| 亚洲午夜成aⅴ人片| 日本电影亚洲天堂一区| 国产精品国产三级国产普通话三级| 黄色精品一二区| 久久久久久综合| 国产综合久久久久影院| 久久综合狠狠综合久久综合88| 日韩av一二三| 精品久久久久99| 精品一二三四区| 精品福利一区二区三区| 国产美女精品在线| 久久综合色综合88| 国精产品一区一区三区mba桃花|