RORDbg 0.26版本 by Kernel64

转载 2006年05月31日 21:00:00
RORDbg V0.26

这是一个用虚拟机技术实现的简易Debugger,主要用于外壳分析和脱壳,目前只能跑exe文件的主线程。
这个工具仅仅可以作为分析外壳辅助手段,因为是虚拟执行每条指令,所以,速度很慢。


更新日志:
V0.26
  界面进行了修饰,窗口可以缩放并可以最大化
  增加了DATA窗口,可以编辑内存数据,先使用D命令确定内存位置
  增加了一个异常的处理
V0.25
  增加了对DLL文件调试的支持,借用了一个ollydbg的一个loaddll.exe文件,表示感谢!
       (DLL文件暂时不能makepe)
V0.24
  修正了scans指令会被误判为异常的问题
  修正了jmp XXXXXXXX (E9 XXXXXXXX)指令当跳转到API入口时,会出现崩溃的问题
V0.23
  修正了几个BUG
V0.22
  LOG中增加了指令记数提示,方便下次运行设置BPC断点
  检测非常规API调用更加准确
  设置了两种运行方式,能跑的程序会更多一些
  makepe命令中对被抽掉的IAT表中的API做探测(还不成熟)
V0.21
  换了一个程序图标
  修正了界面中搜索有时出错的问题
  修正了push ax,pushfw,pop ax等指令出错的问题
  修正了某些机器上遇到jnz xx等类似指令出错的问题
  修正了makepe命令中的一个问题,成功率提高
  增加了一个API地址检测的数值选项。
V0.20
  修正了MAKEPE时偶尔会死掉的BUG
  增加了对VB程序脱壳的支持
V0.19
  修正了MAKEPE中的一个错误
  增加了命令记录功能
  增加了对SYSENTER和INT 2E指令的支持
V0.18
  修正了界面的几个小问题;
  修正了对PUSH AX等指令的支持;
  增加了对RaiseException异常的支持;
  测试了TheMida 1.1.0
V0.17
  Log窗口支持鼠标选择和右键菜单复制功能;
  强化了MAKEPE命令,智能修复IAT(Import REC工具不能修复的,本工具也许可以)
V0.16
  解决了JMP DWORD PTR [ESP-4]指令的解析出错问题;
  解决了MAKEPE中重建IAT的一个BUG;
  解决了导入WINMM.DLL的PlaySound不能正确MAKEPE的问题。
  增加了两个热键,F8(Step),F9(Go! or Pause)
  修正了界面的一些小问题
V0.15
  解决了PIII机器上(也可能是XP SP2的堆栈执行保护?)遇到条件跳出错的问题;
  增加了异常种类支持;
  测试了Arm、ACProtect、EXEStealth、Obsidium、hying、PESpin等几种加密壳。
  测试了UPX、ASPack压缩壳。
V0.14
        修正了V0.13版本的重大BUG
V0.13
  增加了X命令和G命令和BL命令
  增加了“在OEP处暂停”选项
  修正了MAKEPE命令中的BUG
  修正了其他一些BUG,兼容性更好了一些
  工具包中提供一个脱壳例子文件(脱壳方法:启动RORDbg(名字为Explorer.exe),加载Sample.exe,GO!...在OEP处停止后,
        用makepe命令即可,然后手工修复OEP处的前三个字节)
V0.12
        支持800X600屏幕分辨率
  支持双击标题栏窗口收起
  支持文件拖放
  修正了“不记录绝对跳转指令”选中时单步迟钝的问题
V0.11
        修正了“不记录绝对跳转指令”的逻辑错误
        修正了“遇到API调用暂停”条件发生后不能继续GO或者不能单步越过的问题
V0.1
  可以加载并运行一个Windows的EXE文件。
  
支持的命令:
      U  --反汇编(U命令参数为16进制内存地址,不支持表达式)
      D  --显示内存数据(显示内容并不实时更新)
      G  --不带参数的G命令会继续跑被调试程序,如果带了地址参数,会跑到那里停下来
      X  --等同于不带参数的G命令
      BL --显示所有断点信息
      BP --设置断点,如:
   BP 401000    ;执行到401000处停下来
         BP *eip==6aec8b55  ;当EIP处的数值为0x6aec8b55时停下
   BP GetWindowTextA Count==8  //第8次调用GetWindowTextA时停下

     BPC --指令执行多少条后停下(窗口顶部有个计数器)
     R   --更改寄存器的值
     MAKEPE --类似TRW2000的MAKEPE,参数为希望设置的EntryPoint的地址,保存文件名字固定为
        ROR-Unpacked.exe
     LOG --设定执行多少条指令后开始记录执行指令,参数为十进制数字
     EXP --参数为Module名字,会把这个Module的引出函数显示出来,如:EXP Kernel32.dll
     ?   --查询一个16进制数,如果是API地址,会显示这个API名字
     BD  --禁止断点(只支持参数 *)
     BE  --开放断点(只支持参数 *)
     BC  --清除断点(只支持参数 *)

界面介绍:
    Log窗口:左上的那个就是
    DATA窗口:Log窗口的下面那个
    命令窗口:在DATA下面
    寄存器窗口:右上
    STACK窗口:寄存器窗口下面

    1、如何启动一个待调试程序
       点击“打开被分析文件”按钮,按下它选择被调试文件即可
    2、“GO!”按钮是让这个程序在虚拟机下跑(不是跑飞)
    3、“放开跑”按钮是放开被调试程序,让它自由跑,控制权不能再收回,
        这个方法可测试虚拟机是否能够正常跑这个程序,如果程序运行正常,说明在这之前虚拟机跑的都正确!
    4、“单步”仅仅是step into,没有step over,以后再加
    5、“结束调试”仅仅在程序没有跑飞的时候有用。


      苏州工业园区视算科技有限公司
        2006-5-31

http://bbs.pediy.com/attachment.php?s=&attachmentid=1677

相关文章推荐

hugo_0.26_Windows-64bit.zip

  • 2017-08-17 18:58
  • 4.26MB
  • 下载

安装openfiler时报错This kernel requires an X86-64

问题描述 在windows XP 操作系统下的vmbox中安装openfiler时候报错This kernel requires an X86-64  CPU,but only detect...

Perform a bisect test to identify the kernel problem (by quqi99)

*作者:张华 发表于:2016-12-07 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ...

the data structures used by the kernel for all I/O

以下的描述是概念性的,它可能符合或者不符合一个特定的实现。 内核使用三种数据结构表示打开的文件,它们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响。 1、每个进程...

旷视最新-Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

一句话总结 如文章名字所言,本文主要强调大的kernel的重要性,pascal上82.2%。文章的试验和分析还是挺细致的。 故事背景文章认为,classification和localizat...

Linux kernel Process Management 2.1(amd64)——Creation and Switch

进程在OS中是一个非常关键的抽象概念。 在OS中虚拟CPU称为执行线程,简称为线程。 用于创建和管理多执行线程的实用工具通常包含在一个pthread库。因为该库中接口是按照POSIX标准定义的...

在模拟器上运行一个64bit linux kernel(aarch64)

为什么要在模拟器上运行一个linux kernel? 主要是为了方便调试内核和应用程序,编译内核源码,测试。aarch64,是调试64位内核和应用程序的。 1、下载编译器 64...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)