od反汇编工具(OllyDbg)是一款面向32位程序的动态调试器,在逆向工程领域长期被当作主力工具使用。它把反汇编、寄存器监视、内存查看和断点管理集中在同一个界面里,调试时能随手插入全局标签,流程看起来比较直观。软件本身是绿色免安装的,直接双击就能跑,不需要往系统里写什么东西。不管是分析可执行文件还是跟踪运行时行为,它都提供了一套相对完整的操作入口。

1、 Ctrl+F2 用于重启当前调试的程序;若没有正在调试的目标,会去历史列表里找第一个程序来运行,重启会清掉内存断点和硬件断点
2、 F3 打开32位EXE文件选择框,选好可执行文件后还能顺便填入运行参数
3、 F7 单步步入,遇到Call会跟进函数体第一条指令;碰到带REP前缀的指令只执行一次重复
4、 F8 单步步过,遇到Call会一次跑完整个函数,除非函数内部有断点或抛出异常;带REP前缀的指令会完整执行完再停下一条
5、 F9 让程序继续跑;Ctrl+F11 做Run跟踪步入,逐条执行并进入子函数,把寄存器信息收进跟踪数据,但CPU窗口不会同步刷新
6、 F12 停止执行并挂起所有线程,之后要用继续执行类的操作来恢复;Alt+B 开断点窗口,Alt+C 开CPU窗口,Alt+E 看模块列表,Alt+K 看调用栈,Alt+L 看日志,Alt+M 看内存,Alt+O 进选项,Ctrl+P 开补丁窗口,Ctrl+T 打开暂停Run跟踪对话框,Alt+X 退出
1、 启动方式比较灵活、可以用命令行指定文件、从菜单选、直接拖进去、重开上一个调试目标、或者挂接一个正在运行的进程、支持即时调试、不装也能用、甚至能从软盘直接跑
2、 能应付多线程程序,线程之间可以切换,也能挂起、恢复、终止线程或调整优先级,线程窗口里还会显示每个线程的错误信息
3、 可以调试标准动态链接库,程序会自动拉起一个可执行文件来加载目标DLL,并允许调用它的输出函数
5、 反汇编器会对指令类型和操作数做高亮、比如跳转、条件跳转、入栈、出栈、调用、返回、特殊或无效指令、操作数也按常规、FPU/SSE、段/系统寄存器、栈或内存操作数、常量来区分、高亮方案可以自己改
6、 名称显示依赖调试信息,能展示输入输出符号,Object扫描器可以认出库函数,名称和注释都能手动加;DLL函数如果按索引号输出,挂接输入库能还原原名,还能识别窗口消息、错误代码、位域等常量符号并解码成已知函数调用
7、 内置2300多个C和Windows API常用函数的识别,附带参数信息,可以补描述、预定义解码,也能在已知函数上设Log断点记录参数
8、 在没有调试信息、函数用非标准prolog和epilog的情况下,依然能对递归调用做回溯;配置项有一百多个,外观和运行行为都能调
9、 数据窗口支持HEX、ASCII、UNICODE、16/32位有符号/无符号/HEX整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或HLA)、PE文件头或线程数据块等多种格式
- 反汇编窗口负责显示反汇编代码,默认按OllyDbg的配置来解析打开的程序,调试选项在Options->Debugging options里改
- 寄存器窗口在界面右侧,信息量比较大,是观察程序状态的主要位置之一
- 堆栈窗口默认跟着ESP寄存器走,想看EBP相关的内容可以在窗口上右键选Go to EBP,再右键选Go to ESP就切回原来的显示
- 数据窗口默认模式最常用、也能切成反汇编、文本或Short、Long、Float等格式
- 除了直接摆出来的四个窗口,还有一些窗口要通过菜单或控制面板上的图标按钮才能打开
- 软件对处理器的要求是奔腾级别、能在Windows 95、98、ME、NT或XP上运行、XP下没有经过完整测试、建议用300MHz以上的奔腾处理器、内存尽量给到128MB以上、因为追踪调试这类扩展功能吃内存比较明显
- 指令集方面覆盖80x86、奔腾、MMX、3DNOW!、Athlon扩展指令集和SSE、但不支持SSE2
- 保存调试信息走调试菜单里的符号路径选项,在弹出的对话框里设好路径就行;调试文件是udd格式,被调试文件的路径一旦变动,之前的调试信息就用不了了
- 断点和注释窗口只显示当前模块的内容,而且只有被OllyDbg认定为代码的部分,对应的断点和注释才看得见
1、 界面换成了BoOMBoX/TSRh2004制作的美化版本,主要是视觉上的改动
2、 大部分句子重新翻译过,目标是把意思翻准
3、 配置文件里字体、语法高亮、颜色这几块保留中文,其余部分恢复成英文
4、 做了一个英文配置补丁,放在英文配置补丁目录里;需要字体、语法高亮、颜色也用英文配置的话,把补丁放到安装目录,选中Ollydbg.exe打上即可
(您的评论需要经过审核才能显示)
0条评论