您的位置:首页 电脑软件 OllyDbg
OllyDbg

OllyDbg

用户模式调试器,用于动态调试应用程序,提供可视化操作界面和多种功能窗口

安全无毒

版  本:2.1.0.4

软件大小:2.52 MB

授权类型:未知

收费类型:免费

软件语言:简体中文

应用平台:WinAll

更新时间:2024-02-22

OllyDbg是一款强大的调试器软件,专为反汇编、逆向工程和程序调试而设计,它提供了用户友好的界面和丰富的功能,帮助开发人员追踪、分析和修改程序的执行过程,OllyDbg支持多种二进制文件格式,能够直接加载可执行文件、动态链接库和驱动程序,并提供了诸多调试功能如断点设置、内存查看、寄存器监视等,使用户能够深入研究应用程序的工作原理,OllyDbg还具备插件系统,用户可以根据需要添加各种扩展模块,实现更多自定义的功能。

使用方式

运行环境:OllyDbg 可以以在任何采用奔腾处理器的 Windows 95、98、ME、NT 或是 XP(未经完全测试)操作系统中工作,但我们强烈建议您采用300-MHz以上的奔腾处理器以达到最佳效果。还有,OllyDbg 是极占内存的,如果您需要使用诸如追踪调试[Trace]之类的扩展功能话,建议您最好使用128MB以上的内存。

支持的处理器 OllyDbg 支持所有 80x86、奔腾、MMX、3DNOW!、Athlon扩展指令集、SSE指令集以及相关的数据格式,但是不支持SSE2指令集。

配置:有多达百余个选项用来设置 OllyDbg 的外观和运行。

数据格式:OllyDbg 的数据窗口能够显示的所有数据格式:HEX、ASCII、UNICODE、 16/32位有/无符号/HEX整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或是HLA)、PE文件头或线程数据块。

帮助:此文件中包含了关于理解和使用 OllyDbg 的必要的信息。如果您还有 Windows API 帮助文件的话(由于版权的问题 win32.hlp 没有包括在内),将它挂在 OllyDbg 中,这样就可以快速获得系统函数的相关帮助。

启动:您可以采用命令行的形式指定可执行文件、也可以从菜单中选择,或直接拖放到OllyDbg中,或者重新启动上一个被调试程序,或是挂接[Attach]一个正在运行的程序。OllyDbg支持即时调试。OllyDbg根本不需要安装,可直接在软盘中运行!

调试DLLs:您可以利用OllyDbg调试标准动态链接库(DLLs)。OllyDbg 会自动运行一个可执行程序。这个程序会加载链接库,并允许您调用链接库的输出函数。

源码级调试:OllyDbg 可以识别所有 Borland 和 Microsoft 格式的调试信息。这些信息包括源代码、函数名、标签、全局变量、静态变量。有限度的支持动态(栈)变量和结构。

代码高亮:OllyDbg 的反汇编器可以高亮不同类型的指令(如:跳转、条件跳转、入栈、出栈、调用、返回、特殊的或是无效的指令)和不同的操作数(常规[general]、FPU/SSE、段/系统寄存器、在栈或内存中的操作数,常量)。定制个性化高亮方案。

线程:OllyDbg 可以调试多线程程序。在多个线程之间转换,挂起、恢复、终止线程或是改变线程优先级。并且线程窗口将会显示每个线程的错误(就像调用 GETLASTERROR 返回一样)。

分析:OllyDbg 的最大特点之一就是分析。它会分析函数过程、循环语句、选择语句、表[tables]、常量、代码中的字符串、欺骗性指令[tricky constructs]、API调用、函数中参数的数目,import表等等.. 这些分析增加了二进制代码的可读性,减少了出错的可能性,使得我们的调试工作更加容易。

功能作用

启动

您可以采用命令行的形式指定可执行文件、也可以从菜单中选择,或直接拖放到OllyDbg中,或者重新启动上一个被调试程序,或是挂接[Attach]一个正在运行的程序。OllyDbg支持即时调试,根本不需要安装,可直接在软盘中运行!

线程

OllyDbg可以调试多线程程序。在多个线程之间转换,挂起、恢复、终止线程或是改变线程优先级。并且线程窗口将会显示每个线程的错误(就像调用 GETLASTERROR 返回一样)。

调试DLLs

您可以利用OllyDbg调试标准动态链接库(DLLs)。OllyDbg 会自动运行一个可执行程序。这个程序会加载链接库,并允许您调用链接库的输出函数。

源码级调试

OllyDbg可以识别所有 Borland 和 Microsoft 格式的调试信息。这些信息包括源代码、函数名、标签、全局变量、静态变量。有限度的支持动态(栈)变量和结构。

代码高亮

OllyDbg的反汇编器可以高亮不同类型的指令(如:跳转、条件跳转、入栈、出栈、调用、返回、特殊的或是无效的指令)和不同的操作数(常规[general]、FPU/SSE、段/系统寄存器、在栈或内存中的操作数,常量)。定制个性化高亮方案。

名称

OllyDbg可以根据 Borland 和 Microsoft 格式的调试信息,显示输入/输出符号及名称。Object 扫描器可以识别库函数。其中的名称和注释您可任意添加。如果DLL中的某些函数是通过索引号输出的,您可通过挂接输入库[import library]来恢复原来的函数名称。OllyDbg还能识别大量的常量符号名(如:窗口消息、错误代码、位域[bit fields]…)并能够解码为已知的函数调用。

已知函数

OllyDbg可以识别 2300 多个C 和Windows API 中的常用函数及其使用的参数。添加描述信息、预定义解码。您还可以在已知函数设定 Log断点并可以对参数进行记录。

函数调用

OllyDbg可以在没有调试信息或函数过程使用非标准的开始部分[prolog]和结尾部分[epilog]的情况下,对递归调用进行回溯。

配置

有多达百余个选项用来设置OllyDbg 的外观和运行。

数据格式:OllyDbg 的数据窗口能够显示的所有数据格式:HEX、ASCⅡ、UNICODE、 16/32位有/无符号/HEX整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或是HLA)、PE文件头或线程数据块。

更新日志

1、界面采用 BoOMBoX/TSRh2004 制作的美化界面,主要为了好看一点。

2、绝大部分句子都重新翻译过,力求做到准确。

3、配置文件中除字体、语法高亮、颜色这几个部分保留为中文外,其它的都恢复为英文。保留字体、语法高亮、颜色这几个部分为中文。

4、配置文件中的字体、语法高亮、颜色这几个部分恢复为英文,做了个恢复为英文配置的补丁放在英文配置补丁目录下,需要字体、语

软件长处

1、另有一个界面未作美化的汉化版放在原版界面目录,可以按自己的喜好选择使用哪一个

2、数据格式:OllyDbg的数据窗口能够显示的所有数据格式:HEX、ASCⅡ、UNICODE、16/32位有/无符号/HEX整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或是HLA)、PE文件头或线程数据块

3、dyk158 建议我把配置文件中的字体、语法高亮、颜色这几个部分恢复为英文,我专门做了个恢复为英文配置的补丁(如果你以前运行过英文版进行了相应配置,补丁后的汉化版本对应这几个部分的相应菜单将会显示英文,若你是用打过这个补丁的汉化版本生成配置文件,相应菜单将会显示中文)放在英文配置补丁目录下,需要字体、语法高亮、颜色这部分也用英文配置的朋友可以把这个补丁放到我做的汉化版的安装目录,选择 Ollydbg.exe 补丁就可以了。这个补丁同样适用于原版界面的汉化版本

4、配置文件中除字体、语法高亮、颜色这几个部分保留为中文外,其它的都恢复为英文。保留字体、语法高亮、颜色这几个部分为中文的目的是因为我发现若先运行过英文版配置好后,汉化版中对应这几个部分的一些菜单也会取原英文版配置中的英文字串,而不是汉化过的字串。我觉得翻译后既能保持与英文版的兼容性,又能让英文版与中文版的界面等互不干扰

5、OllyDbg的反汇编器可以高亮不同类型的指令(如:跳转、条件跳转、入栈、出栈、调用、返回、特殊的或是无效的指令)和不同的操作数(常规general、FPU/SSE、段/系统寄存器、在栈或内存中的操作数,常量)

6、功能非常强大,已经完全取代了SoftICE

安装建议

OllyDbg发行版是一个ZIP压缩包,只要解压运行OllyDbg.exe即可。

OllyDbg

问答解析

怎样保存OllyDbg的调试信息以便下次使用?

调试菜单->;选择符号路径 然后在弹出的对话框设置路径即可。注意调试文件为udd格式,当被调试文件路径发生变化时调试信息不再可用。比如:你在C盘有一个文件用ollydby调试并加入注视或断点后,把这个文件移到别的路径下,再用OllyDbg打开调试信息注视和断点不被显示。

注意:断点和注释窗口只能查看到当前模块的断点和注释,且当前被OllyDbg分析为代码的断点和注释才能被看到。

OLLYDBG最新版界面由哪些元素构成?

OllyDbg发行版是一个ZIP压缩包,只要解压运行OllyDbg.exe即可。运行OllyDbg打开进程,主窗口显示反汇编清单。各窗口的外观属性如:“标题栏(bar)、字体(font)”等在右键菜单"界面选项(appearance)"里控制

代码窗口

代码窗口(OllyDbg帮助文件自称反汇编窗口)显示被调试程序的代码。他有四个列地址/Address(虚拟地址)HEX数据/HEX dump(机器码)/Disassembly(反汇编) 注释/Comment(注释)最后一列注释(Comment)显示相关API参数或运行简表,非常有用,有点类似于IDA Pro。在代码窗口(地址行,不是列标题)双击时完成动作。

地址(Address)列:显示相对被双击地址的地址,再次双击返回标准地址模式;

HEX数据(HEX dump)列:设置或取消无条件断点,按F2键也能设置断点;

反汇编(Disassembly)列:调试编辑器,可直接修改汇编代码;

注释(Comment)列:允许增加或编辑注释。代码窗口允许浏览、分析、搜索和修改代码,保存改变到可执行文件,设置断点等。相关弹出式菜单包括100多项。

信息窗口(Information window)

动态跟踪时,与指令相关的各寄存器的值、API函数调用提示、跳转提示等信息显示。

数据窗口

以十六进制或内存方式显示文件在内容中的数据,类似于softICE的数据窗口。要显示数据可单击右键"转到→表达式(Go to→expression)"或按Ctrl+G键打开地址窗口,输入地址。

寄存器(Registers window)

显示CPU各寄存器的值,支持浮点(FPU)、MMX,3DNow!寄存器,可以单击鼠标右键切换。

堆栈窗口(Stack window)

堆栈窗口非常重要,各API函数、子程序等都利用它传递参数、变量等。OllyDbg堆栈窗口功能强大。如果传递的参数都是字符串,OllyDbg会在注释里直接将其显示出来,再也不用像SoftICE那样经常用D命令查看内存数据了

Ollydbg需要哪些运行环境?

OllyDbg可以以在任何采用奔腾处理器的Windows 95、98、ME、NT 或是 XP(未经完全测试)操作系统中工作,但我们强烈建议您采用300-MHz以上的奔腾处理器以达到最佳效果。OllyDbg支持所有 80x86、奔腾、MMX、3DNOW!、Athlon扩展指令集、SSE指令集以及相关的数据格式,但是不支持SSE2指令集。

下载地址

电脑下载地址