OllyDbg 是一款经典的 Windows 平台 32 位汇编级调试器,以直观的图形界面、强大的动态调试能力和对反汇编的深入支持而闻名。它常用于逆向工程、恶意软件分析和二进制安全研究。
动态调试为主
不依赖源代码,直接对二进制程序进行调试。
通过单步执行、断点、内存/寄存器监控来观察程序运行状态。
强大的反汇编能力
自动将机器码翻译为易读的汇编指令。
支持 API 调用解析,能更清楚地理解程序逻辑。
插件与脚本扩展
提供丰富的插件接口,可以通过第三方插件扩展功能(如脱壳、花指令修复、自动化脚本)。
常见插件:OllyICE、StrongOD、OllyDump 等。
用户友好的界面
界面直观,模块化窗口布局(代码区、寄存器区、内存区、堆栈区),适合教学演示。
逆向与分析功能
内存搜索、字符串搜索、调用跟踪。
动态 API 解析与参数监控,便于恶意样本分析。
逆向工程入门:学习汇编和调试原理。
软件调试:分析无源码的二进制程序运行逻辑。
恶意代码分析:对木马/病毒进行动态行为观察。
脱壳与破解研究:配合插件,用于检测和去除常见壳保护。
主要支持 32 位程序,对 64 位支持有限(需要使用第三方变种如 x64dbg)。
更新停止较久(OllyDbg 2.0 是最后的正式版本),部分现代保护机制可能无法直接应对。
无内核调试能力,主要面向用户态程序。
OllyDbg vs x64dbg:x64dbg 是后续开源项目,支持 32/64 位,界面更现代。
OllyDbg vs WinDbg:WinDbg 更偏向系统级/内核级调试,而 OllyDbg 更适合用户态逆向。
OllyDbg vs IDA Pro:IDA 以静态分析见长,OllyDbg 更专注动态调试。
OllyDbg 是一款轻量、直观、功能强大的 32 位动态调试器,非常适合初学者和安全研究人员。虽然已停止更新,但因其易用性和插件生态,至今仍是逆向与调试领域的经典工具。
由于OllyDBG 1.1(http://www.ollydbg.de)官方很长一段时间没更新,故一些爱好者对OllyDBG修改,新增了一些功能或修正一些bug,OllyICE就是其中的一个修改版,取名OllyICE只是便于区分,其实质还是OllyDBG,版权归OllyDBG官方所有。
文件组成:
OllyICE.EXE 中文汉化版,是在cao_cong汉化第二版基础上修改的。
OLLYDBG.EXE
英文修改版,修改的地方与OllyICE.exe一样。
OllyICE.EXE与OLLYDBG.EXE同时做了如下修改:
1.窗口、类名等常见修改;
2.格式化字符串的漏洞[OutPutDebugString]补丁;
3.参考dyk158的ODbyDYK
v1.10
,自动配置UDD、PLUGIN为绝对路径;
4.参考nbw的"OD复制BUG分析和修正"一文,修正从内存区复制数据时,有时无法将所有的数据都复制到剪贴板的bug。
5.参考ohuangkeo“不被OD分析原因之一和修补方法”,稍改进了OD识别PE格式能力(可能仍报是非PE文件,但己可调试了)。
6.修正OllyScript.dll插件bpwm命令内存读写都中断的问题。
7.jingulong的Loaddll.exe,可以方便让OllDbg中断在dll的入口。
8.感谢DarkBul告知SHIFT+F2条件窗口显示的bug及修复。
9.感谢dreaman修复Findlabel,Findname,Findnextname三个函数处理字符串会溢出的bug。
10.改善sprintf函数显示某些浮点数会崩溃的bug,这里的修复代码直接引用heXer的代码。
11.该修改版,配合HideOD插件,可以很好地隐藏OD。
12.新增实用的快捷键功能
13.修正Themida
v1.9.x.x检测OllyICE的Anti,配合HideToolz即可调试Themida v1.9.x.x加壳程序。
14.LOCKLOSE添加了部分API和结构体信息。