odbgscript 常用命令

一. 变量和注释以及杂类

$RESULT             :这个是系统保留变量,函数和ODS的命令返回都放这里.它还有一个隐含的变量
                     为$RESULT_1,有的返回是2个参数,第二个放这里.
$VERSION            :返回当前版本号
VAR                 :在脚本中,声明一个变量
AN                  :从指定处,对代码进行分析
CMT                 :在指定地址处,加入注释
MSG                 :将指定消息,显示到一个对话框中
MSGYN               :将指定消息,显示到一个对话框中,这个对话框有“是”、“否”按钮
ASK                 :显示一个提示输入框,让用户输入,并将结果保存转保留变量$RESULT中
                    (如果用户按了取消键,则$RESULT=0)
#INC                :脚本里面包含了另外的脚本

二.断点类
------普通断点类
BP              :在指定地址设断点
BC              :清除指定地址的断点
------条件断点类
BPCND           :在指定地址处,设置条件断点
BPL             :在指定地址处设置记录断点,将表达式的结果记录到记录窗口中
BPLCND          :在指定地址处设置记录断点,如果条件为真时,将表达式的结果记录到记录窗口中
------硬件断点类
BPHWS           :在指定地址,设置硬件断点
BPHWC           :删除指定地址处的硬件断点
BPHWCALL        :删除所以的硬件断点
------内存断点类
BPRM            :在指定地址处,设置一个内存读取断点
BPWM            :在指定地址处,设置一个内存读写断点
BPMC            :清除内存断点

三.系统和操作类
-----内存操作类
ALLOC             :分配新的内存页, 你能读/写/执行.
FREE              :释放由ALLOC申请的内存.
-----文件操作类
DM                :从指定地址处开始,在内存中提取指定大小的数据,并保存到指定的文件中
DMA              :从指定地址处开始,在内存中提取指定大小的数据,并保存到指定的文件中;
                   如果指定文件已存在,则将数据追加到指定文件尾部。
DPE               :提取执行模块到指定文件中。
WRT               :Write to file (replace existing one) the only accepted symbol is
                   "\r\n"Numbers are wrote as strings... for the moment
WRTA              :Append to file
LM                :引导Dm文件到内存 ,LM is the opposite of the DM command
-----系统信息类
GPA               :在指定的动态链接库中,获得指定函数的地址。
GCMT              :获得指定地址的注释
GMEMI             :获得内存块的指定信息
GPI               :获得进程信息
GN                :获得指定地址的符号名(比如指向API函数)
GMI               :获得指定地址所在模块的相关信息。
HANDLE            :获得句柄信息
-----汇编和OD控制类
ASM               :修改指定地址的指令。
EXEC/ENDE         :对当前调试进程,执行在EXEC和ENDE之间的指令
KEY               :相对于在OD中执行按键

四.流程控制类
-----ODbgScript流程控制类
EOB            :在下次中断发生时,跳转到指定标签处
COB            :发生中断后,让脚本继续执行(移除EOB指令)
EOE            :在下次异常发生时,跳转到指定标签处
COE            :发生异常后,让脚本继续执行(移除EOE指令)
JA             :大于则跳到指定标签处,在cmp命令后使用
JAE            :大于等于则跳到指定标签处
JB             :小于则跳到指定标签处,在cmp命令后使用
JBE            :小于等于则跳到指定标签处
JE             :等于则跳到指定标签处
JNE            :不等于则跳到指定标签处
JMP            :跳转到指定标签.
PAUSE          :暂停脚本运行
RET            :退出脚本
-----OD流程控制类   
RUN            :相当于在OllyDbg中按                            F9
GO             :执行到指定地址处                               F4
ESTI           :相当于在OllyDbg按                             SHIFT-F7
ESTO           :相当于在OllyDbg按                             SHIFT-F9
STI            :单步步入,相当于在OllyDbg中按                    F7
STO            :单步步过,相当于在OllyDbg中按                    F8
RTR            :相当于在OllyDbg中执行 "Run to return"操作      [Ctrl+F9]
RTU            :相当于在OllyDbg中执行 "Run to user code"操作   [Alt+F9]
AI             :在OllyDbg中执行“自动步入” [Animate into]操作  [Ctrl+F7]
AO             :在OllyDbg中执行“自动步过” [Animate over]操作  [Ctrl+F8]
TI             :相当于在OllyDbg中执行 "Trace into" 操作        [Ctrl+F11]
TO             :相当于在OllyDbg中执行 "Trace over" 操作        [Ctrl+F12]
TICND          :执行 "Trace into" 操作,直到条件为真时停止     
TOCND          :执行 "Trace over" 操作,直到条件为真时停止
TC             :关闭Trace
LBL            :在指定地址处插入一个标签

五.计算和寄存器操作类

INC           :对变量进行加一操作
ADD           :源操作数与目的操作数相加,并把相加的结果保存到目的操作数中
DEC           :对变量进行减一操作
SUB           :和汇编里的sub一样,两个数相减
AND           :源操作数与目的操作数进行逻辑与操作,并将结果保存到到目的操作数中
XOR           :源操作数与目的操作数进行异或操作,并将结果保存到到目的操作数中
OR            :源操作数和目的操作数做逻辑或操作,并将结果保存到到目的操作数中
SHL           :左移目的操作数,n比特位;并将结果保存到到目的操作数中
SHR           :右移目的操作数,n 比特位;并将结果保存到到目的操作数中
CMP           :比较 目的操作数与源操作数的大小,和其对应的汇编指令作用相同, 现支持字符串比较
REV           :字节反转.
MOV           :将源操作数移动到目的操作数中

六.字符串操作类

LEN            :获得字符串长度
FIND           :从指定地址开始在内存中查找指定的内容
FINDOP         :从指定地址开始查找指定一个指令,这个指令是以指定内容为开始的
FINDMEM        :全内存中查找指定的内容
ATOI           :转换一个字符到整数,返回结果保存到保留变量$RESULT中
ITOA           :字符串进制转换
EVAL           :计算含义变量的表达式
EXEC/ENDE      :对当前调试进程,执行在EXEC和ENDE之间的指令
FILL           :从指定地址处,填充指定长度的值
REPL           :在指定地址开始,在指定长度字节内,用“替换字符串”替换“查找字符串”
SCMP           :比较字符串,目的和源比
SCMPI          :比较字符串,只不过是源和目的比
PREOP          :获得当前地址的汇编指令
REF            :交叉参考
OPCODE         :反汇编当前指令

posted @ 2010-06-18 11:35  南守拥  阅读(733)  评论(0编辑  收藏  举报