您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > OllyDbg命令行命令+汇编指令大全
OllyDbg命令行命令+汇编指令大全以下命令适用于OllyDbg的命令行插件Cmdline.dll(显示于程序的插件菜单中)===============================================================命令行插件支持的命令CALC判断表达式WATCH添加监视表达式AT在指定地址进行反汇编FOLLOW跟随命令ORIG反汇编于EIPDUMP在指定地址进行转存DA转存为反汇编代码DB使用十六进制字节格式转存DC使用ASCII格式转存DD转存在堆栈格式DU转存在UNICODE格式DW使用十六进制字词格式转存STK前往堆栈中的地址AS(AS地址字符串)在指定地址进行汇编BP进行条件中断(有条件的断点)BPX中断在全部调用(Call)BPD清除全部调用中的断点BC清除断点MR内存断点于访问时MW内存断点于写入时MD清除内存断点HR访问时进行硬件中断HW写入时进行硬件中断HE执行时进行硬件中断HD清除硬件断点STOP停止运行程序调试PAUSE暂停执行程序调试RUN运行程序进行调试GE运行和通过例外SI单步进入Call中SO步过CallTI跟踪进入直到地址TO跟踪步过直到地址TC跟踪进入直到满足条件TOC跟踪步过直到满足条件TR运行直到返回TU运行直到用户代码LOG查看记录窗口MOD查看模块窗口MEM查看内存窗口CPU查看CPU窗口CS查看Call堆栈BRK查看断点窗口OPT打开选项设置窗口EXIT退出OllyDbgQUIT退出OllyDbgOPEN打开一个可执行文件CLOSE关闭可执行文件RST重新运行当前程序HELP查看API函数的帮助以下命令适用于OllyDbg的快捷命令栏插件(显示于程序的状态栏上方)========================================================CALC判断表达式WATCH添加监视表达式AT/FOLLOWDisassembleataddress在地址进行反汇编ORIGDisassembleatEIP反汇编于EIPDUMPDumpataddress在地址转存DADumpasdisassembly转存为反汇编代码DBDumpinhexbyteformat转存在十六进制字节格式DCDumpinASCIIformat转存在ASCII格式DDDumpinstackformat转存在堆栈格式DUDumpinUNICODEformat转存在UNICODE格式DWDumpinhexwordformat转存在十六进制字词格式STKGotoaddressinstack前往堆栈中的地址AS+地址+字符串Assembleataddress在地址进行汇编L+地址+字符串Labelataddress在地址进行标号C+地址+字符串Commentataddress在地址进行注释BPBreakwithcondition使用条件中断BPXBreakonallcalls中断在全部调用BPDDeletebreakonallcalls清除位于全部调用的断点BCDeletebreakpoint清除断点MRMemorybreakptonaccess内存断点于访问时MWMemorybreakptonwrite内存断点于写入时MDRemovememorybreakpoint清除内存断点HRHWbreakonaccess硬件中断在访问HWHWbreakonwrite硬件中断在写入HEHWbreakonexecution硬件中断在执行HDRemoveHWbreakpoint清除硬件断点STOPPauseexecution暂停执行PAUSEPAUSERUNRunprogram运行程序Runtilladdress运行到地址GERunandpassexception运行和通过例外SIStepinto步入SOStepover步过TITraceintilladdress跟踪进入直到地址TOTraceovertilladdress跟踪步过直到地址TCTraceintillcondition跟踪进入直到条件TOCTraceovertillcondition跟踪步过直到条件TRTillreturn直到返回TUTillusercode直到用户代码LOGViewLogwindow查看记录窗口MODViewModuleswindow查看模块窗口MEMViewMemorywindow查看内存窗口CPUViewCPUwindow查看CPU窗口CSViewCallStack查看Call堆栈BRKViewBreakpointswindow查看断点窗口OPTOpenOptions打开选项EXIT/QUITQuitOllyDbg退出OllyDbgOPENOpenexecutablefile打开可执行文件CLOSECloseexecutable关闭程序RSTRestartcurrentprogram恢复当前程序HELPHelponAPIfunctionAPI函数的帮助ASMAssemble(ifcommandneedsit'sownaddres,\ASMCOMMAND;ADDRESS\)汇编(如果命令需要自身的地址\ASMCOMMAND;ADDRESS\)DASMDisassembleimmediateopcode反汇编直接的机器码FRFindreferencetoselectedcommand/address查找参考到选定的命令/地址ACAnalysecode分析代码SNSearchforName(label)incurrentmodule在当前模块中搜索名称(标号)SOBScanobjectfiles扫描项目文件汇编指令大全一、数据传送指令1.通用数据传送指令MOV(Move)传送PUSH(Pushontothestack)进栈POP(Popfromthestack)出栈XCHG(Exchange)交换.MOV指令格式为:MOVDST,SRC执行的操作:(DST)-(SRC).PUSH进栈指令格式为:PUSHSRC执行的操作:(SP)-(SP)-2((SP)+1,(SP))-(SRC).POP出栈指令格式为:POPDST执行的操作:(DST)-((SP+1),(SP))(SP)-(SP)+2.XCHG交换指令格式为:XCHGOPR1,OPR2执行的操作:(OPR1)--(OPR2)2.累加器专用传送指令IN(Input)输入OUT(Output)输出XLAT(Translate)换码这组指令只限于使用累加器AX或AL传送信息..IN输入指令长格式为:INAL,PORT(字节)INAX,PORT(字)执行的操作:(AL)-(PORT)(字节)(AX)-(PORT+1,PORT)(字)短格式为:INAL,DX(字节)INAX,DX(字)执行的操作:AL-((DX))(字节)AX-((DX)+1,DX)(字).OUT输出指令长格式为:OUTPORT,AL(字节)OUTPORT,AX(字)执行的操作:(PORT)-(AL)(字节)(PORT+1,PORT)-(AX)(字)短格式为:OUTDX,AL(字节)OUTDX,AX(字)执行的操作:((DX))-(AL)(字节)((DX)+1,(DX))-AX(字)在IBM-PC机里,外部设备最多可有65536个I/O端口,端口(即外设的端口地址)为0000~FFFFH.其中前256个端口(0~FFH)可以直接在指令中指定,这就是长格式中的PORT,此时机器指令用二个字节表示,第二个字节就是端口号.所以用长格式时可以在指定中直接指定端口号,但只限于前256个端口.当端口号=256时,只能使用短格式,此时,必须先把端口号放到DX寄存器中(端口号可以从0000到0FFFFH),然后再用IN或OUT指令来传送信息..XLAT换码指令格式为:XLATOPR或:XLAT执行的操作:(AL)-((BX)+(AL))3.有效地址送寄存器指令LEA(Loadeffectiveaddress)有效地址送寄存器LDS(LoadDSwithPointer)指针送寄存器和DSLES(LoadESwithPointer)指针送寄存器和ES.LEA有效地址送寄存器格式为:LEAREG,SRC执行的操作:(REG)-SRC指令把源操作数的有效地址送到指定的寄存器中..LDS指针送寄存器和DS指令格式为:LDSREG,SRC执行的操作:(REG)-(SRC)(DS)-(SRC+2)把源操作数指定的4个相继字节送到由指令指定的寄存器及DS寄存器中.该指令常指定SI寄存器..LES指针送寄存器和ES指令格式为:LESREG,SRC执行的操作:(REG)-(SRC)(ES)-(SRC+2)把源操作数指定的4个相继字节送到由指令指定的寄存器及ES寄存器中.该指令常指定DI寄存器.4.标志寄存器传送指令LAHF(LoadAHwithflags)标志送AHSAHF(storeAHintoflags)AH送标志寄存器PUSHF(pushtheflags)标志进栈POPF(poptheflags)标志出栈.LAHF标志送AH格式为:LAHF执行的操作:(AH)-(PWS的低字节).SAHFAH送标志寄存器格式为:SAHF执行的操作:(PWS的低字节)-(AH).PUSHF标志进栈格式为:PUSHF执行的操作:(SP)-(SP)-2((SP)+1,(SP))-(PSW).POPF标志出栈格式为:POPF执行的操作:(PWS)-((SP)+1,(SP))(SP)-(SP+2)二、算术指令1.加法指令ADD(add)加法ADC(addwithcarry)带进位加法INC(increment)加1.ADD加法指令格式:ADDDST,SRC执行的操作:(DST)-(SRC)+(DST).ADC带进位加法指令格式:ADCDST,SRC执行的操作:(DST)-(SRC)+(DST)+CF.ADD加1指令格式:INCOPR执行的操作:(OPR)-(OPR)+12.减法指令SUB(subtract)减法SBB(subtractwithborrow)带借位减法DEC(Decrement)减1NEG(Negate)求补CMP(Compare)比较.SUB减法指令格式:SUBDST,SRC执行的操作:(DST)-(DST)-(SRC).SBB带借位减法指令格式:SBBDST,SRC执行的操作:(DST)-(DST)-(SRC)-CF.DEC减1指令格式:DECOPR执行的操作:(OPR)-(OPR)-1.NEG求补指令格式:NEGOPR执行的操作:(OPR)--(OPR).CMP比较指令格式:CMPOPR1,OPR2执行的操作:(OPR1)-(OPR2)该指令与SUB指令一样执行减法操作,但不保存结果,只是根据结果设置条件标志西半球.3.乘法指令MUL(UnsignedMultiple)无符号数乘法IMUL(SignedMultiple)带符号数乘法.MUL无符号数乘法指令格式:MULSRC执行的操作:字节操作数:(AX)-(AL)*(SRC)字操作数:(DX,AX)-(AX)*(SRC).IMUL带符号数乘法指令格式:IMULSRC执行的操作:与MUL相同,但必须是带符号数,而MUL是无符号数.4.除法指令DIV(Unsigneddivide)无符号数除法IDIV(Signeddivide)带符号数除法CBW(Convertbytetoword)字节转换为字CWD(Contertwordtodoubleword)字转换为双字.DIV无符号数除法指令格式:DIVSRC执行的操作:字节操作:(AL)-(AX)/(SRC)的商(AH)-(AX)/(SRC)的余数字操作:(AX)-(DX,AX)/(SRC)的商(AX)-(DX,AX)/(SRC)的余数.IDIV带符号数除法指令格式:DIVSRC执行的操作:与DIV相同,但操作数必须是带符号数,商和余数
本文标题:OllyDbg命令行命令+汇编指令大全
链接地址:https://www.777doc.com/doc-3151305 .html