⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parse.h

📁 一个类似与Windows环境下的softice的源代码
💻 H
字号:
/****************************************************************************** * * Copyright (c) 2003 Gerhard W. Gruber * * PROJECT: pICE * $Source: /cvsroot/pice/pice/module/parse.h,v $ * $Revision: 1.5 $ * $Date: 2004/02/17 23:07:37 $ * $Author: lightweave $ * $Name:  $ * * $Log: parse.h,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 * * *****************************************************************************//*++Copyright (c) 1998-2001 Klaus P. GerlicherModule Name:    parse.hAbstract:    HEADER for parse.cEnvironment:    LINUX 2.2.X    Kernel mode onlyAuthor:     Klaus P. GerlicherRevision History:    15-Nov-2000:    general cleanup of source filesCopyright notice:  This file may be distributed under the terms of the GNU Public License.--*/#ifndef _PARSE_H#define _PARSE_Htypedef struct TagArgs{    // IN values	ULONG Value[16];	ULONG Count;	UCHAR Switch[16];	ULONG CountSwitches;    BOOLEAN bNotTranslated[16];	LPSTR pToken[16];    // OUT values    BOOLEAN bNotifyToExit;}ARGS,*PARGS;typedef struct tagCPUInfo{	char *Name;	PULONG pValue;}CPUINFO;typedef BOOLEAN (*PFN)(EXCEPTION_FRAME* pFrame,PARGS pArgs);#define MAX_ARGS (5)typedef struct _CMDTABLE{	char * Cmd;	PFN Handler;	char * Help;    ULONG Flags;    ULONG ParamFlags[MAX_ARGS];    LPSTR pszRecognizedSwitches;    ULONG CommandGroup;}CMDTABLE,*PCMDTABLE;typedef struct tagKeyWords{	char* KeyWord;	ULONG (*GetValueFunc)(EXCEPTION_FRAME* pFrame);	void (*SetValueFunc)(EXCEPTION_FRAME* pFrame,ULONG value);	ULONG ulSize;}KEYWORDS;typedef struct tagSETGETREGS{	char *RegName;	PULONG RegAddr;}SETGETREGS;typedef struct tag_BP{	ULONG LinearAddress;	ULONG Segment,Offset;	BOOLEAN Used;	BOOLEAN Active;	BOOLEAN Virtual;	char ModName[256];	char SymName[256];}BP;extern BOOLEAN bNeedToFillBuffer;extern BOOLEAN bCodeOn;extern BOOLEAN bShowSrc;extern BP Bp[];extern BOOLEAN bInt3Here;extern BOOLEAN bStepping;extern char szCurrentFile[256];extern struct module* pCurrentMod;extern PICE_SYMBOLFILE_HEADER* pCurrentSymbols;extern LONG ulCurrentlyDisplayedLineNumber;BOOLEAN AsciiToHex(LPSTR p,PULONG pValue);BOOLEAN Parse(EXCEPTION_FRAME* pFrame,LPSTR pCmdLine,BOOLEAN bInvokedByFkey);LPSTR FindCommand(LPSTR p);ULONG StrLenUpToWhiteChar(LPSTR p,LPSTR lpszWhiteChars);BOOLEAN WaitForKey(void);BOOLEAN ConvertTokenToHex(LPSTR p,PULONG pValue);void DisplaySourceFile(LPSTR pSrcLine,LPSTR pSrcEnd,ULONG ulLineNumber,ULONG ulLineNumberToInvert);BOOLEAN ConvertTokenToSrcFile(LPSTR p,PULONG pValue);void RepaintDesktop(EXCEPTION_FRAME* pFrame);void PutStatusText(LPSTR p);void UnassembleOneLineDown(EXCEPTION_FRAME* pFrame);void UnassembleOnePageDown(EXCEPTION_FRAME* pFrame,ULONG page);void UnassembleOneLineUp(EXCEPTION_FRAME* pFrame);void UnassembleOnePageUp(EXCEPTION_FRAME* pFrame,ULONG page);extern BOOLEAN (*DisplayMemory)(EXCEPTION_FRAME* pFrame,PARGS pArgs);#define COMMAND_PROTOTYPE(arg)  BOOLEAN arg(EXCEPTION_FRAME *pFrame,PARGS pArgs)#define COMMAND_RET             return TRUE// available commandsCOMMAND_PROTOTYPE(ShowGdt);COMMAND_PROTOTYPE(LeaveIce);COMMAND_PROTOTYPE(SingleStep);COMMAND_PROTOTYPE(ShowHelp);COMMAND_PROTOTYPE(ShowPageDirs);COMMAND_PROTOTYPE(ShowProcesses);COMMAND_PROTOTYPE(DisplayMemoryDword);COMMAND_PROTOTYPE(DisplayMemoryByte);COMMAND_PROTOTYPE(DisplayPhysMemDword);COMMAND_PROTOTYPE(Unassemble);COMMAND_PROTOTYPE(ShowSymbols);COMMAND_PROTOTYPE(ShowModules);COMMAND_PROTOTYPE(SetBreakpoint);COMMAND_PROTOTYPE(ListBreakpoints);COMMAND_PROTOTYPE(ClearBreakpoints);COMMAND_PROTOTYPE(Ver);COMMAND_PROTOTYPE(Hboot);COMMAND_PROTOTYPE(I3here);COMMAND_PROTOTYPE(I1here);COMMAND_PROTOTYPE(SetSrcDisplay);COMMAND_PROTOTYPE(ShowIdt);COMMAND_PROTOTYPE(StepOver);COMMAND_PROTOTYPE(StepInto);COMMAND_PROTOTYPE(SetGetRegisters);COMMAND_PROTOTYPE(SetCodeDisplay);COMMAND_PROTOTYPE(NextInstr);COMMAND_PROTOTYPE(ShowCPU);COMMAND_PROTOTYPE(ShowTables);COMMAND_PROTOTYPE(WalkStack);COMMAND_PROTOTYPE(ShowVirtualMemory);COMMAND_PROTOTYPE(UnassembleAtCurrentEIP);COMMAND_PROTOTYPE(PokeMemory);COMMAND_PROTOTYPE(PeekMemory);COMMAND_PROTOTYPE(ShowLocals);COMMAND_PROTOTYPE(SwitchTables);COMMAND_PROTOTYPE(SwitchFiles);COMMAND_PROTOTYPE(EvaluateExpression);COMMAND_PROTOTYPE(SizeCodeWindow);COMMAND_PROTOTYPE(SizeDataWindow);COMMAND_PROTOTYPE(ClearScreen);COMMAND_PROTOTYPE(ShowMappings);COMMAND_PROTOTYPE(ShowTimers);COMMAND_PROTOTYPE(ShowPCI);COMMAND_PROTOTYPE(SetKeyboardLayout);COMMAND_PROTOTYPE(ShowSysCallTable);COMMAND_PROTOTYPE(SetAltKey);COMMAND_PROTOTYPE(ShowContext);COMMAND_PROTOTYPE(DumpHeap);COMMAND_PROTOTYPE(ZapBreakpoint);COMMAND_PROTOTYPE(ReadMSR);COMMAND_PROTOTYPE(InportByte);COMMAND_PROTOTYPE(OutportByte);COMMAND_PROTOTYPE(ShowRegisters);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -