ollydbg中文版

ollydbg中文版

官方

系统:PC

日期:2025-04-28

类别:编程开发

版本:v2.01

  • 详情
  • 相关
  • 评论

ollydbg中文版是一款非常实用的反汇编工具软件,界面采用BoOMBoX/TSRh2004制作的美化界面,是目前为止最流行的调试解密工具之一。它可以识别所有Borland和Microsoft格式的调试信息,包括源代码、函数名、标签、全局变量、静态变量。而且该软件本身附带了脱壳脚本和各种插件,能够支持Windows平台下的32/64位系统上使用是反汇编工作必备的调试工具,基本已经完全取代了SoftICE。如果用户想要进行破解工作,想要免费使用一些软件,或者学习如果进行破解以防止他人破解自己的软件,那么这款软件是不错的试手软件,需要的开发者不要错过哦。

ollydbg中文版

软件特点

1、代码分析-跟踪寄存器、识别过程、循环、API调用、开关、表、常量和字符串

2、允许用户定义标签、注释和功能描述

3、调试多线程应用程序

4、解码对1900多个标准api和400多个c函数的调用

5、设置条件、日志记录、内存和硬件断点

6、动态跟踪堆栈帧

7、查找对常量或地址范围的引用

软件功能

启动

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

线程

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

调试DLLs

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

源码级调试

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

代码高亮

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

名称

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

已知函数

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

函数调用

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

配置

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

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

运行环境

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

支持的处理器

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

Ollydbg使用教程

一、基础知识

1.1、基础使用

该软件是Windows平台下Ring3级的程序调试利器。程序调试有静态调试和动态调试两种。静态调试是指将程序源代码编译成可执行程序之前,用手工或编译程序等方法对程序源代码进行测试,来查找和修正程序中的语法错误和逻辑错误。动态调试则是在可执行程序的运行过程中,来查找和修正程序中的语法错误和逻辑错误。随着系统安全与逆向工程的不断发展,程序调试已经成为信息安全爱好者所必备的一种技术。OD结合了静态调试和动态调试的方法,功能强大,已经成为了Windows平台下普通应用程序的调试利器。

1.2、PE文件

PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件

1.3、寄存器

EAX 是”累加器”(accumulator), 它是很多加法乘法指令的缺省寄存器。

EBX 是”基地址”(base)寄存器, 在内存寻址时存放基地址。

ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。

EDX 则总是被用来放整数除法产生的余数。

ESI/EDI分别叫做”源/目标索引寄存器”(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串。

EBP是”基址指针”(BASE POINTER), 它最经常被用作高级语言函数调用的”框架指针”(frame pointer)。

二、OD的各个窗口

2.1、反汇编窗口

2.2、信息窗口

2.3、数据窗口

用于显示内存或文件的内容。可以从以下预处理格式中选择一种显示方式:字节[byte]、文本[text]、整数[integer]、浮点数[float]、地址[address],反汇编[disassembly]、PE头[PE Header]。

2.4、寄存器窗口

用于显示和解释当前所选线程的CPU寄存器中的内容。该窗口同样允许修改寄存器,并可以跟进地址到其它CPU窗口。

2.5、堆栈窗口

用于显示当前线程的堆栈。当被调试程序暂停运行时,堆栈窗口一般会自动滚动将当前ESP指向的地址放在窗口的第一条。并且这个地址被高亮显示。在某些情况下禁止滚动会更方便一些,可以通过在堆栈窗口右键单击[锁定堆栈]来禁止堆栈自动滚动。

2.6、其他窗口

L -> 日志窗口

E -> 显示程序运行使用的模块

M -> 显示我们程序映射到内存的信息

T -> 显示程序的线程窗口

W -> Windows显示程序窗口

H -> 句柄窗口

C -> 回到主窗口,CPU窗口

P -> 如果程序经过了修改,这里显示修改的信息

K -> 显示调用堆栈的窗口信息

B -> 显示程序普通断点的列表窗口

R -> Reference 参考窗口,显示我们在软件中搜索的结果。

… -> 显示 RUN TRACE(RUN 跟踪)命令的结果

三、OD的各种初始设置及快捷键

3.1、怎样设置实时调试

当然,我们不一定会用到实时调试,除非特殊情况。因为如果我们运行的程序出现崩溃时。

选项 -> 实时调试设置

3.2、在 软件中关联插件

允许你使用插件,这样会对解决问题有所帮助

首先下载插件,解压插件文件夹,为插件建立一个文件夹(可以在任意位置)

选项->界面选项

我们看到作为插件路径的目录已被指定,即 OllyDbg.exe 所在的目录,可以把插件放在那里

3.3、最常用的快捷键

F7 执行一行代码,遇到 CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条 指令上。

F8 执行一行代码,遇到 CALL 等子程序不进入其代码。

这两个键的功能有所不同,以后将会看到。

F2 在显著行设置断点,再次按 F2 删除断点。

更新日志

v2.01版本

1、对Ollydbg的窗口签名进行了更改,从而避免被针对性检测。

2、对Ollydbg的菜单做出调整。

3、针对一些有可能被检测的插件进行了删减。

4、修改了一些可能被检测的内容。

5、更新ollydbg的插件为目前较新的版本。

展开内容

评分及评论

4.5满分5.0分

点击星星用来评分

评论需审核后才能显示
同类排行