黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图
您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 软件破解 >> 文章正文
[图文]破解利器Olldbg脚本教学(二)-ODbgScript的脚本命令(2)
        ★★★★★
破解利器Olldbg脚本教学(二)-ODbgScript的脚本命令(2)
文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-11-1

4.流程控制类

    我曾经教过一个小DD写脚本,他老是把OD的运行流程和ODbgScript的流程搞混淆了,这个概念要弄清除,作为新手常常弄不清这两个概念,而这两个概念是必须要弄明白的!要知道ODbgScript是一个脚本插件,它执行脚本的流程,靠脚本运行过程中各种返回值/计算值判断后,修改/控制/影响OD的流程.

还是打个比方吧:
    ODbgScript是铁路传感/信号/道岔控制系统,OD就是列车,而各种返回值就是各种信号灯和传感器,列车的运行过程中,传感器系统不断的给出列车的各种运行状态,而ODbgScript就根据这些运行状态来调相应的运行时刻表让列车在控制的范围内运行.那么ODbgScript控制道岔系统就完成了一趟完整的调度系统.

     大家都坐过火车吧??你喜欢的是打着信号灯的铁道工人?还是现代化的排灯/道岔控制系统???

    对应上一章的中断系统,我们又换概念打比方了(呵呵,对于新手我还是感觉自己有自己的一套办法来教大家弄清这些的),断点在这里就是在铁轨上的信号灯,传感器它感受到了列车(OD)到这里了,马上给控制系统(ODbgScript)发回信号,控制系统知道列车在什么位置后,相应的控制---信号灯/道岔系统,列车就乖乖的听从我们的调度来运行了.脚本其实就是列车时刻表!!!而脚本内的标号就是所管理的机务段!
   
    邓爷爷说:实现四个现代化,靠的是科技!
    hnhuqiong说:OD逆向实现自动化,靠的是ODbgScript!  (被愤怒的群众痛殴中!!!)

-----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            :在指定地址处插入一个标签

    现在大家明白了ODbgScript可以给我们带来多少便利了吧????概念恐怕大家已清楚了,就不多讲解了. 其实,这些都是自动控制专业范围内的东西,刚好我本科是这个专业,所以比较轻车熟路.   :)    现代化社会这些自动控制无所不在,只是你用上了却不一定留心它!
    用一个复杂一点的脚本示意图我们简单的来进行类比,让大家牢牢记住它的(感谢FLY的FSG V1.X-2.X脚本)
    
    ( 插图一:3-fllow.jpg)


5.计算和寄存器操作类 

   有了刚才的概念,那么这里的计算概念就好办了,这些都是ODbgScript内的计算.这里就不多讲解了.就是现在命令有点少,我争取在下一个版本加多命令,这样调度起来不至于不会计算了,只好上铁轨手工操作了..

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

[1] [2] 下一页  

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886