OD(OllyDbg)使用教程

合集下载

od教程

od教程

【原创】OllyDBG 入门系列(一)-认识OllyDBG标题:【原创】OllyDBG 入门系列(一)-认识OllyDBG作者:CCDebuger时间: 2006-02-13,17:23链接: /showthread.php?t=21284OllyDBG 入门系列(一)-认识OllyDBG作者:CCDebuger一、OllyDBG 的安装与配置OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。

汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可:OllyDBG 中各个窗口的功能如上图。

简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助:反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。

用鼠标左键点击注释标签可以切换注释显示的方式。

寄存器窗口:显示当前所选线程的 CPU 寄存器内容。

同样点击标签寄存器 (FPU) 可以切换显示寄存器的方式。

信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

数据窗口:显示内存或文件的内容。

右键菜单可用于切换显示方式。

堆栈窗口:显示当前线程的堆栈。

要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下 OllyDBG 就可以生效了。

启动后我们要把插件及 UDD 的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:因为我这里是把 OllyDBG 解压在 F:\OllyDBG 目录下,所以相应的 UDD 目录及插件目录按图上配置。

还有一个常用到的标签就是上图后面那个字体,在这里你可以更改 OllyDBG 中显示的字体。

od反编译工具用法

od反编译工具用法

od反编译工具用法反编译是指将已经编译过的程序文件转换为高级源代码的过程。

反编译工具可以帮助开发者了解和学习其他人编写的程序,对于调试和修复软件错误也很有帮助。

OD (OllyDbg) 是一种广泛使用的反汇编调试工具,本文将介绍如何使用OD进行反编译。

OD的基本使用方法如下:2.打开需要反编译的程序:在OD主界面上点击“文件”菜单,然后选择“打开”选项,浏览并选择需要反编译的程序文件,并点击“打开”按钮。

3.反汇编代码窗口:OD会在主界面上打开一个反汇编代码窗口,这个窗口将显示程序的机器码和相应的汇编指令。

4.反编译代码:可以通过“右键单击”汇编指令,然后选择“跟随”选项来进行反编译。

OD会尝试寻找并显示反编译后的代码。

5.查看变量和数据:在OD的主界面上,有一个“数据窗口”,可以显示程序中的变量和内存数据。

在反汇编代码窗口中选择一些指令,然后在数据窗口中查看它所使用的变量和数据的值。

6.设置断点:在OD中设置断点可以帮助我们在特定指令上暂停执行程序,以便查看程序状态和调试错误。

在反汇编代码窗口中选择一些指令,然后点击“上方”菜单中的“条件断点”选项,OD会弹出一个对话框,可以在其中设置断点条件。

7.运行程序:在OD的主界面上,有一个“执行”菜单,可以用于运行程序。

可以通过点击“执行”菜单中的“运行”选项来启动程序的执行。

当程序遇到断点时,会停止执行并进入调试模式。

8.调试程序:在OD的调试模式下,可以通过一些常用的调试功能来调试程序。

例如,可以通过“单步执行”菜单选项逐行执行程序代码,通过“寄存器窗口”查看和修改寄存器值,通过“内存窗口”查看和修改内存数据等。

需要注意的是,使用OD进行反编译需要一定的汇编和调试知识。

同时,反编译软件可能涉及违法行为,如未获得程序开发者的许可而进行反编译。

请确保遵守法律规定,并只在合法和正当的情况下使用反编译工具。

在使用OD进行反编译时,可以参考以下一些技巧和注意事项:1.了解汇编语言与机器码的对应关系:汇编语言是将机器码转换为可读性更高的指令的语言,因此了解汇编语言的基本语法和常见指令有助于理解和分析程序。

OllyDBG新手使用说明书

OllyDBG新手使用说明书

OllyDBG 新手使用说明书OLLYDBG完全教程(一)一、什么是 OllyDbg ?OllyDbg 是一种具有可视化界面的 32 位汇编 - 分析调试器。

它的特别之处在于可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题。

Version 1.10 是最终的发布版本。

这个工程已经停止,我不再继续支持这个软件了。

但不用担心:全新打造的OllyDbg 2.00 不久就会面世!运行环境: OllyDbg 可以以在任何采用奔腾处理器的Windows 95、98、ME、NT或是 XP(未经完全测试)操作系统中工作,但我们强烈建议您采用 300-MHz以上的奔腾处理器以达到最佳效果。

还有, OllyDbg 是极占内存的,因此如果您需要使用诸如追踪调试[ Trace ]之类的扩展功能话,建议您最好使用 128MB以上的内存。

支持的处理器:OllyD 的数据格式,但是不支持SSE2 指令集。

bg 支持所有80x86、奔腾、 MMX、3DNOW!、 Athlon 扩展指令集、 SSE指令集以及相关配置:有多达百余个(天呀!)选项用来设置OllyDbg 的外观和运行。

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

帮助:此文件中包含了关于理解和使用 OllyDbg 的必要的信息。

如果您还有 Windows API帮助文件的话(由于版权的问题 win32.hlp 没有包括在内),您可以将它挂在 OllyDbg 中,这样就可以快速获得系统函数的相关帮助。

启动:您可以采用命令行的形式指定可执行文件、也可以从菜单中选择,或直接拖放到 OllyDbg 中,或者重新启动上一个被调试程序,或是挂接[ Attach ]一个正在运行的程序。

【Selected】OD入门系列图文详细教程、破解做辅助起步.doc

【Selected】OD入门系列图文详细教程、破解做辅助起步.doc

一、OllyDBG的安装与配置二、OllyDBG1.10版的发布版本是个ZIP压缩包,只要解压到一个目录下,运行OllyDBG.eGe就可以了。

汉化版的发布版本是个RAR压缩包,同样只需解压到一个目录下运行OllyDBG.eGe即可:三、OllyDBG中各个窗口的功能如上图。

简单解释一下各个窗口的功能,更详细的内容可以参考TT小组翻译的中文帮助:四、反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEG数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。

用鼠标左键点击注释标签可以切换注释显示的方式。

五、寄存器窗口:显示当前所选线程的CPU寄存器内容。

同样点击标签寄存器(FPU)可以切换显示寄存器的方式。

六、信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

七、数据窗口:显示内存或文件的内容。

右键菜单可用于切换显示方式。

八、堆栈窗口:显示当前线程的堆栈。

九、要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下OllyDBG就可以生效了。

十、启动后我们要把插件及UDD的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:因为我这里是把OllyDBG解压在F:\OllyDBG目录下,所以相应的UDD目录及插件目录按图上配置。

还有一个常用到的标签就是上图后面那个字体,在这里你可以更改OllyDBG中显示的字体。

上图中其它的选项可以保留为默认,若有需要也可以自己修改。

修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动OllyDBG。

在这个对话框上点确定,重新启动一下OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。

有人可能知道插件的作用,但对那个UDD目录不清楚。

我这简单解释一下:这个UDD目录的作用是保存你调试的工作。

外挂编写必备工具2OllyDBG (OD)入门系列

外挂编写必备工具2OllyDBG (OD)入门系列
调试中我们经常要用到的快捷键有这些:
F2:设置断点,只要在光标定位的位置(上图中灰色条)按F2键即可,再按一次F2键则会删除断点。(相当于SoftICE中的F9)
F8:单步步过。每按一次这个键执行一条反汇编窗口中的一条指令,遇到CALL等子程序不进入其代码。(相当于SoftICE中的F10)
F7:单步步入。功能同单步步过(F8)类似,区别是遇到CALL等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上。(相当于SoftICE中的F8)
二、基本调试方法
OllyDBG有三种方式来载入程序进行调试,一种是点击菜单文件->打开(快捷键是F3)来打开一个可执行文件进行调试,另一种是点击菜单文件->附加来附加到一个已运行的进程上进行调试。注意这里要附加的程序必须已运行。第三种就是用右键菜单来载入程序(不知这种算不算)。一般情况下我们选第一种方式。比如我们选择一个test.exe来调试,通过菜单文件->打开来载入这个程序,OllyDBG中显示的内容将会是这样:
另外一个重要的选项就是调试选项,可通过菜单选项->调试设置来配置:
新手一般不需更改这里的选项,默认已配置好,可以直接使用。建议在对OllyDBG已比较熟的情况下再来进行配置。上面那个异常标签中的选项经常会在脱壳中用到,建议在有一定调试基础后学脱壳时再配置这里。
除了直接启动OllyDBG来调试外,我们还可以把OllyDBG添加到资源管理器右键菜单,这样我们就可以直接在.exe及.dll文件上点右键选择“用Ollydbg打开”菜单来进行调试。要把OllyDBG添加到资源管理器右键菜单,只需点菜单选项->添加到浏览器,将会出现一个对话框,先点击“添加Ollydbg到系统资源管理器菜单”,再点击“完成”按钮即可。要从右键菜单中删除也很简单,还是这个对话框,点击“从系统资源管理器菜单删除Ollydbg”,再点击“完成”就行了。

OD使用完全教程

OD使用完全教程

OD使用完全教程.txt如果不懂就说出来,如果懂了,就笑笑别说出来。

贪婪是最真实的贫穷,满足是最真实的财富。

幽默就是一个人想哭的时候还有笑的兴致。

OllyDbg调试工具使用完全教程一,什么是 OllyDbg?OllyDbg 是一种具有可视化界面的 32 位汇编-分析调试器。

它的特别之处在于可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题。

Version 1.10 是最终的发布版本。

这个工程已经停止,我不再继续支持这个软件了。

但不用担心:全新打造的 OllyDbg 2.00 不久就会面世!运行环境: 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完美教程

OllyDBG完美教程(超强入门级)关键词:OD、OllyDBG、破解入门、调试专用工具、反汇编一、OllyDBG 的安装与配置OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。

汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可:OllyDBG 中各个窗口的功能如上图。

简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助:反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。

用鼠标左键点击注释标签可以切换注释显示的方式。

寄存器窗口:显示当前所选线程的 CPU 寄存器内容。

同样点击标签寄存器 (FPU) 可以切换显示寄存器的方式。

信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

数据窗口:显示内存或文件的内容。

右键菜单可用于切换显示方式。

堆栈窗口:显示当前线程的堆栈。

要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下 OllyDBG 就可以生效了。

启动后我们要把插件及 UDD 的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:因为我这里是把 OllyDBG 解压在 F:\OllyDBG 目录下,所以相应的 UDD 目录及插件目录按图上配置。

还有一个常用到的标签就是上图后面那个字体,在这里你可以更改 OllyDBG 中显示的字体。

上图中其它的选项可以保留为默认,若有需要也可以自己修改。

修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动 OllyDBG。

在这个对话框上点确定,重新启动一下 OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。

ollydbg使用方法

ollydbg使用方法

ollydbg使用方法ollydbg是一款用于逆向工程和调试程序的强大工具。

它可以帮助我们分析和修改二进制文件,以理解程序的内部工作原理。

在本文中,我们将介绍ollydbg的使用方法,以帮助读者快速上手使用该工具。

一、ollydbg的安装和配置我们需要下载ollydbg的安装文件,并按照向导完成安装过程。

安装完成后,我们可以在程序菜单中找到ollydbg的快捷方式。

二、打开目标程序在ollydbg中打开目标程序的方法有两种:直接拖拽到ollydbg窗口中或通过菜单中的“文件”选项来打开程序。

无论使用哪种方法,我们都需要找到目标程序所在的路径,并选择打开。

三、调试程序1. 设置断点:在ollydbg中,断点是一种被设置在程序中的暂停执行的标记点。

我们可以通过双击程序中的某一行代码或者在该行代码上点击右键,然后选择“Toggle Breakpoint”来设置断点。

设置断点后,当程序执行到该行代码时,会自动停止执行,方便我们进行调试。

2. 单步执行:在调试过程中,我们可以使用单步执行功能来逐行执行程序。

我们可以通过菜单中的“调试”选项,或者使用快捷键F7来进行单步执行。

单步执行可以帮助我们逐行分析程序的执行流程,以及观察变量的值的变化。

3. 查看寄存器和内存:在调试过程中,我们经常需要查看程序中的寄存器和内存的值。

ollydbg提供了寄存器窗口和内存窗口,可以方便地查看这些信息。

我们可以通过菜单中的“窗口”选项,选择“寄存器”或者“内存”来打开相应的窗口。

4. 分析代码:在调试过程中,我们可以使用ollydbg的反汇编窗口来查看程序的汇编代码。

我们可以通过菜单中的“窗口”选项,选择“反汇编”来打开反汇编窗口。

反汇编窗口可以帮助我们分析程序的执行流程,以及理解代码的逻辑。

5. 修改变量值:在调试过程中,我们可以通过ollydbg来修改程序中的变量的值。

我们可以在变量所在的内存地址上点击右键,然后选择“修改”,来修改变量的值。

ollydbg的使用教程

ollydbg的使用教程

ollydbg的使⽤教程教程四:OllyDbg的使⽤(下)⼀、简介此次教程我们继续学习Olly的使⽤。

我们将继续使⽤上⼀章的程序(我也会将它包含在下载⾥)。

你可以在tutorials中下载⽂件和PDF版的教程。

⼆、DLLS就像我前⾯说的,当你启动程序时,DLL被系统载⼊器载⼊。

这回我会细致的讲解。

DLL (Dynamic Link Libraries)是函数的集合,通常由Windows提供(当任何⼈都可以提供),其中含有很多Windows程序要⽤的函数。

这些函数可以让程序员更容易的完成⼀些乏味的重复性的任务。

例如,将字符串全部转换成⼤写是许多程序要实现的功能。

如果你的程序要多次使⽤该功能的话,你有三个选择:⼀是在你的程序中⾃⼰编码实现;问题是,你不知道你的下⼀个程序是不是也会⽤到该功能很多次。

你可能需要在你使⽤到的程序⾥复制粘贴很多次相同的代码。

⼆是创建⼀个⾃⼰的库,这样任何程序都可以调⽤。

这种情况下,你可以创建⼀个DLL,然后包含在程序中。

该DLL可能有像convertToUpper这样的通⽤函数以便于程序调⽤,因此你只需要写⼀次代码就⾏了。

这样做的另⼀个好处是,你可以说你为字符串转⼤写想到了⼀个很好的优化⽅案。

第⼀个例⼦中,你需要将代码拷贝到所有要⽤到该代码的程序中,但是在那个通⽤DLL例⼦中,你只需要修改DLL的代码,然后所有使⽤该DLL的程序都可以以最快的速度获益。

爽吧!这就是DLL产⽣的真正原因。

最后⼀个选择是,使⽤Windows提供的⼀堆DLL中包含的数千个函数中的⼀个。

这样做有很多好处。

第⼀个是,Microsoft的程序员已经花了多年时间来优化他们的函数,他们在很⼤程度上要⽐你⽜逼。

第⼆,你不需要将你的DLL包含在应⽤中,因为Windows操作系统已经内建了这些DLL。

最后,如果Windows决定修改他们的操作系统,你⾃⼰的DLL有可能和新系统不兼容。

同时,如果你使⽤Windows的DLL,它们肯定是兼容的。

od 硬件条件断点

od 硬件条件断点

od 硬件条件断点
OD (OllyDbg) 是一款用于调试二进制应用程序的工具,它可
以在执行程序时设置断点并检查程序的状态。

要在OD中设置硬件条件断点,你需要遵循以下步骤:
1. 打开OllyDbg,并加载要调试的二进制程序。

2. 找到你想要设置断点的位置。

这可以是一个特定的内存地址,也可以是程序中的某个函数。

3. 在OllyDbg的菜单栏上选择 "Breakpoints" > "Hardware breakpoints"。

4. 在 "Hardware breakpoints" 窗口中,点击 "New" 按钮。

5. 在弹出的窗口中,选择 "Condition" 选项卡。

6. 在 "Condition" 选项卡中,输入你想要设置的条件,例如要
求寄存器的值等于某个特定值。

7. 点击 "OK" 按钮保存设置。

8. 回到主OllyDbg窗口,你将看到硬件条件断点已添加到"Browse breakpoints" 窗口中。

9. 启动程序,并当程序执行到设置的断点位置时,程序会停止执行并等待你进一步调试。

请注意,硬件条件断点只在特定条件满足时触发断点,因此你需要确保设置的条件是合适的,并且可以满足在期望的情况下触发断点。

此外,硬件断点通常会影响程序的执行速度,因此在调试大型程序时,设置过多的硬件条件断点可能会导致性能下降。

OD入门系列图文详细教程、破解做辅助起步

OD入门系列图文详细教程、破解做辅助起步

一、OllyDBG的安装与配置二、三、OllyDBG1.10版的发布版本是个ZIP压缩包,只要解压到一个目录下,运行OllyDBG.exe就可以了。

汉化版的发布版本是个RAR压缩包,同样只需解压到一个目录下运行OllyDBG.exe即可:四、OllyDBG中各个窗口的功能如上图。

简单解释一下各个窗口的功能,更详细的内容可以参考TT小组翻译的中文帮助:五、六、反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。

用鼠标左键点击注释标签可以切换注释显示的方式。

七、八、寄存器窗口:显示当前所选线程的CPU寄存器内容。

同样点击标签寄存器(FPU)可以切换显示寄存器的方式。

九、十、信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

十一、十二、数据窗口:显示内存或文件的内容。

右键菜单可用于切换显示方式。

十三、十四、堆栈窗口:显示当前线程的堆栈。

十五、十六、要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下OllyDBG就可以生效了。

十七、十八、启动后我们要把插件及UDD的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:因为我这里是把OllyDBG解压在F:\OllyDBG目录下,所以相应的UDD目录及插件目录按图上配置。

还有一个常用到的标签就是上图后面那个字体,在这里你可以更改OllyDBG中显示的字体。

上图中其它的选项可以保留为默认,若有需要也可以自己修改。

修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动OllyDBG。

在这个对话框上点确定,重新启动一下OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。

有人可能知道插件的作用,但对那个UDD目录不清楚。

OD入门系列图文详细教程、破解做辅助起步

OD入门系列图文详细教程、破解做辅助起步

一、OllyDBG 的安装与配置OllyDBG 1.10 版的发布版本是个ZIP 压缩包,只要解压到一个目录下,运行OllyDBG.exe 就可以了。

汉化版的发布版本是个RAR 压缩包,同样只需解压到一个目录下运行OllyDBG.exe 即可:OllyDBG 中各个窗口的功能如上图。

简单解释一下各个窗口的功能,更详细的内容可以参考TT 小组翻译的中文帮助:反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。

用鼠标左键点击注释标签可以切换注释显示的方式。

寄存器窗口:显示当前所选线程的CPU 寄存器内容。

同样点击标签寄存器(FPU) 可以切换显示寄存器的方式。

信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

数据窗口:显示内存或文件的内容。

右键菜单可用于切换显示方式。

堆栈窗口:显示当前线程的堆栈。

要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下OllyDBG 就可以生效了。

启动后我们要把插件及UDD 的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:因为我这里是把OllyDBG 解压在F:\OllyDBG 目录下,所以相应的UDD 目录及插件目录按图上配置。

还有一个常用到的标签就是上图后面那个字体,在这里你可以更改OllyDBG 中显示的字体。

上图中其它的选项可以保留为默认,若有需要也可以自己修改。

修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动OllyDBG。

在这个对话框上点确定,重新启动一下OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。

有人可能知道插件的作用,但对那个UDD 目录不清楚。

我这简单解释一下:这个UDD 目录的作用是保存你调试的工作。

ollydbg用法

ollydbg用法

ollydbg用法OllyDbg是一款非常强大的调试器,可以帮助程序员进行调试和反汇编操作。

以下是一些OllyDbg的基本用法:1. 打开调试文件:在OllyDbg中,可以通过“文件”菜单打开需要调试的文件。

如果需要调试的是一个可执行文件,可以直接输入文件名并打开。

如果需要调试的是一个动态链接库或共享库,可以选择“文件”菜单中的“打开DLL”或“打开共享库”选项,并输入需要调试的文件的路径。

2. 设置断点:在OllyDbg中,可以通过单击行号或者在行号区域右键单击来设置断点。

当程序运行到这个位置时,调试器会自动暂停程序的执行,以便用户可以进行调试和分析。

3. 单步执行:在OllyDbg中,可以使用F8键进行单步执行。

如果需要进入函数内部,可以使用F7键。

如果需要跳过函数调用,可以使用F9键。

4. 查看变量:在OllyDbg中,可以通过“视图”菜单中的“局部变量”和“全局变量”选项卡来查看当前函数的局部变量和全局变量。

此外,还可以通过右键单击变量名称来修改变量的值。

5. 反汇编:在OllyDbg中,可以通过“视图”菜单中的“反汇编”选项卡来查看当前函数的反汇编代码。

可以通过单击反汇编代码中的任意位置来设置断点。

6. 跟踪函数调用:在OllyDbg中,可以使用“跟踪”菜单中的选项来跟踪函数的调用过程。

可以通过选择“跟踪到调用者”或“跟踪到被调用者”选项来查看函数调用的上下文。

7. 保存调试信息:在OllyDbg中,可以通过“文件”菜单中的“保存调试信息”选项来保存调试过程中的信息。

这可以有助于后续的分析和排查问题。

总之,OllyDbg是一款功能强大的调试器,可以帮助程序员进行调试和反汇编操作。

通过掌握OllyDbg的基本用法,可以更好地理解和分析程序的行为,从而更好地排查和解决程序中的问题。

1。

OllyDbg入门完全教程

OllyDbg入门完全教程
OllyDbg 完全教程
目录
第一章 概述..................................................................................................................................... 1 第二章 组件..................................................................................................................................... 5
代码高亮:OllyDbg 的反汇编器可以高亮不同类型的指令(如:跳转、条件跳转、入栈、 出栈、调用、返回、特殊的或是无效的指令)和不同的操作数(常规[general]、FPU/SSE、 段/系统寄存器、在栈或内存中的操作数,常量)。你可以定制个性化高亮方案。
线程:OllyDbg 可以调试多线程程序。因此你可以在多个线程之间转换,挂起、恢复、 终止线程或是改变线程优先级。并且线程窗口将会显示每个线程的错误(就像调用 GETLASTERROR 返回一样)。
一、一般原理[General prnciples]................................................................................. 5 二、反汇编器[Disassembler]........................................................................................... 8 三、分析器[Analysis]....................................................................................................... 9 四、Object 扫描器[Object scanner]............................................................................ 12 五、Implib 扫描器 [Implib scanner].......................................................................... 12 第三章 OllyDbg 的使用................................................................................................................ 13 一、如何开始调试[How to start debugging session]............................................. 13 二、CPU 窗口[CPU window]............................................................................................. 14 三、断点[Breakpoints]................................................................................................... 14 四、数据窗口[Dump]......................................................................................................... 15 五、可执行模块窗口[Executable modules window]................................................... 16 六、内存映射窗口[Memory map window]....................................................................... 17 七、监视与监察器[Watches and inspectors]............................................................. 19 八、线程[Threads]........................................................................................................... 19 九、调用栈[Call stack]................................................................................................. 20 十、调用树[Call tree]................................................................................................... 21 十一、选项[Options]....................................................................................................... 21 十二、搜索[Search]......................................................................................................... 22 十三、自解压文件[Self—extracting (SFX) files]................................................. 22 十四、单步执行与自动执行[Step—by—step execution and animation]..............23 十五、Hit 跟踪[Hit trace]............................................................................................ 23 十六、Run 跟踪[Run trace]........................................................................................... 24 十七、 快捷键....................................................................................................................... 26 十八、插件[Plugins]....................................................................................................... 29 十九、技巧提示[Tips and tricks]............................................................................... 29 第四章 其他功能........................................................................................................................... 30 一、调试独立的 DLL[Debugging of stand—alone DLLs].......................................... 30 二、解码提示[Decoding hints]..................................................................................... 32 三、表达式赋值[Evaluation of expressions]........................................................... 32 四、自定义函数描述[Custom function descriptions]............................................. 34

OD(OllyDbg)使用教程

OD(OllyDbg)使用教程
注意:这里又回到TraceMe的领空了
我们可以按Alt+B调出断点窗口,然后将GetDlgItemTextA的断点改为已禁止
接下来就在004011AE下一个断点,因为这里有调用到 GetDlgItemTextA这个函数
然后就要开始分析这些汇编代码的意义,所以,我们在使 用这个软件的时候,一定要明白这些代码的含义,现在我 们只是先认识一下这个软件的作用,所以就不为大家做出 分析,接下来就是修改代码了。其实我们要是分析下来, 可以发现,其实问题就在于一个代码行--004011F5
工具介绍 OllyDbg调试器
什么是OllyDbg?
OllyDbg简称OD,是一款具有可视化界面的用户模式调试器,结合了动 态调试和静态分析,具有强大的反汇编引擎,能够识别数千个被C和 Windows所使用的函数,并能将其参数注释出,能自动分析函数过程、 循环语句、代码中的字符串等。
显示被调试程序的反汇编代 码
上面是我的总结,大家可以大致的了解一下,有什么 不清楚的地方,可以过来跟我交流。共享的文件里面 还有教程,大家可以根据里面的教程,做更深入的学 习。还有很多汇编代码的含义没有介绍,共享文件里 面有完备的代码解释,可以好好看看,参考参考。
以上有不当之处,请大家给与批评指正, 谢谢大家!
22
注意:此时的领空是模块USER32,领空就是在
某一时刻,CPU的CS:EIP所指向代码的所有者
领空
接着,在USER32的领空中,在77D6B05E代码行按下F2, 下断点,然后按F9运行,然后键入下图所示:
点check,可以看到程序被OD截停在下断点的地方,如图所示: 接着,按Alt+F9,返回到用户代码,可以回到:
调试中我们经常要用到的快捷键有这些:

OD入门系列图文详细教程、破解做辅助起步精编版

OD入门系列图文详细教程、破解做辅助起步精编版

一、OllyDBG 的安装与配置OllyDBG 1.10 版的发布版本是个ZIP 压缩包,只要解压到一个目录下,运行OllyDBG.exe 就可以了。

汉化版的发布版本是个RAR 压缩包,同样只需解压到一个目录下运行OllyDBG.exe 即可:OllyDBG 中各个窗口的功能如上图。

简单解释一下各个窗口的功能,更详细的内容可以参考TT 小组翻译的中文帮助:反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。

用鼠标左键点击注释标签可以切换注释显示的方式。

寄存器窗口:显示当前所选线程的CPU 寄存器内容。

同样点击标签寄存器(FPU) 可以切换显示寄存器的方式。

信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

数据窗口:显示内存或文件的内容。

右键菜单可用于切换显示方式。

堆栈窗口:显示当前线程的堆栈。

要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下OllyDBG 就可以生效了。

启动后我们要把插件及UDD 的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:因为我这里是把OllyDBG 解压在F:\OllyDBG 目录下,所以相应的UDD 目录及插件目录按图上配置。

还有一个常用到的标签就是上图后面那个字体,在这里你可以更改OllyDBG 中显示的字体。

上图中其它的选项可以保留为默认,若有需要也可以自己修改。

修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动OllyDBG。

在这个对话框上点确定,重新启动一下OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。

有人可能知道插件的作用,但对那个UDD 目录不清楚。

我这简单解释一下:这个UDD 目录的作用是保存你调试的工作。

OllyDBG图文入门教程资料

OllyDBG图文入门教程资料

OllyDBG 入门系列(一)-认识OllyDBG一、OllyDBG 的安装与配置OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。

汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可:图片1OllyDBG 中各个窗口的功能如上图。

简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助:反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进行切换是否显示。

用鼠标左键点击注释标签可以切换注释显示的方式。

寄存器窗口:显示当前所选线程的 CPU 寄存器内容。

同样点击标签 寄存器 (FPU) 可以切换显示寄存器的方式。

信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

数据窗口:显示内存或文件的内容。

右键菜单可用于切换显示方式。

堆栈窗口:显示当前线程的堆栈。

要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下 OllyDBG 就可以生效了。

启动后我们要把插件及 UDD 的目录配置为绝对路径,点击菜单上的 选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:因为我这里是把 OllyDBG 解压在F:\OllyDBG 目录下,所以相应的 UDD 目录及插件目录按图上配置。

还有一个常用到的标签就是上图后面那个字体,在这里你可以更改 OllyDBG 中显示的字体。

上图中其它的选项可以保留为默认,若有需要也可以自己修改。

修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动 OllyDBG。

在这个对话框上点确定,重新启动一下 OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。

OllyDBG图文入门教程资料

OllyDBG图文入门教程资料

OllyDBG 入门系列(一)-认识OllyDBG一、OllyDBG 的安装与配置OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。

汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可:图片1OllyDBG 中各个窗口的功能如上图。

简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助:反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。

用鼠标左键点击注释标签可以切换注释显示的方式。

寄存器窗口:显示当前所选线程的 CPU 寄存器内容。

同样点击标签寄存器 (FPU) 可以切换显示寄存器的方式。

信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

数据窗口:显示内存或文件的内容。

右键菜单可用于切换显示方式。

堆栈窗口:显示当前线程的堆栈。

要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下 OllyDBG 就可以生效了。

启动后我们要把插件及 UDD 的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:因为我这里是把 OllyDBG 解压在F:\OllyDBG 目录下,所以相应的 UDD 目录及插件目录按图上配置。

还有一个常用到的标签就是上图后面那个字体,在这里你可以更改 OllyDBG 中显示的字体。

上图中其它的选项可以保留为默认,若有需要也可以自己修改。

修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动 OllyDBG。

在这个对话框上点确定,重新启动一下 OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

修改这一反汇编代码段,双击反汇编列后者按空格键, 修改这一反汇编代码段,双击反汇编列后者按空格键, 键入NOP,点汇编 键入 ,
最后 F9运行,你会看到: 运行, 运行 你会看到:
下面就介绍一些分析常用的汇编代码含义: 下面就介绍一些分析常用的汇编代码含义: MOV 传送字或字节 如MOV A B,就是将 中的字传给 中的字传给A ,就是将B中的字传给 PUSH 把字压入堆栈 CALL 子程序调用指令 XOR 异或运算 所谓异或,就是两值不同,则为真,反之,为假 所谓异或,就是两值不同,则为真,反之, RET 子程序返回指令 CMP 比较 两操作数作减法 仅修改标志位 不回送结果 比较.(两操作数作减法 仅修改标志位,不回送结果 两操作数作减法,仅修改标志位 不回送结果) JNZ(或 JNZ(或jNE) OPR --------------结果不为零转移,测试条件ZF=0 --------------结果不为零转移 测试条件ZF=0 结果不为零转移,测试条件 DEC 减 1 INC 加 1 JZ(或jE) OPR---------------结果为零转移 测试条件 结果为零转移, 或 结果为零转移 测试条件ZF=1 SUB 减法 LEA 装入有效地址 例: LEA DX,string ;把偏移地址存到 把偏移地址存到DX. 把偏移地址存到 MOVSX 先符号扩展 再传送 先符号扩展,再传送 REP 当CX/ECX0时重复 时重复 AND 与运算 TEST 测试.(两操作数作与运算 仅修改标志位,不回送结果 测试 两操作数作与运算,仅修改标志位 不回送结果) 两操作数作与运算 仅修改标志位 不回送结果
注意:此时的领空是模块USER32,领空就是在 注意:此时的领空是模块 ,
某一时刻, 某一时刻,CPU的CS:EIP所指向代码的所有者 的 所指向代码的所有者
领空
接着,在USER32的领空中,在77D6B05E代码行按下F2,下 接着, USER32的领空中, 77D6B05E代码行按下F2, 的领空中 代码行按下F2 断点,然后按F9运行,然后键入下图所示: F9运行 断点,然后按F9运行,然后键入下图所示:
2、加载目标文件调试 、
运 开选项/ OllyDbg , 开选项/调试设
程序运行之后, 程序运行之后,在系统 空间里会触发一个INT3 空间里会触发一个INT3 文件入口点
程序的Winmain()函数入口点, 程序的Winmain()函数入口点, Winmain()函数入口点 但一般都是在文件入口点
点check,可以看到程序被OD截停在下断点的地方,如图所示: check,可以看到程序被OD截停在下断点的地方,如图所示: OD截停在下断点的地方
接着, Alt+F9,返回到用户代码,可以回到: 接着,按Alt+F9,返回到用户代码,可以回到:
注意:这里又回到TraceMe的领空了 注意:这里又回到 的领空了
设置完成之后,载入文件,出现如图所示: 设置完成之后,载入文件,出现如图所示:

机器码: 机器码:
CPU执行的机器 CPU执行的机器 代码
虚拟地址
汇编指令: 汇编指令: 和机器码对应的 程序代码
3、单步跟踪
调试器一个最基本功能就是动态跟踪,OllyDbg单步跟踪功能键: 调试器一个最基本功能就是动态跟踪,OllyDbg单步跟踪功能键: 单步跟踪功能键
我们可以按Alt+B调出断点窗口,然后将GetDlgItemTextA的断点改为已禁止 调出断点窗口,然后将 我们可以按 调出断点窗口 的断点改为已禁止
接下来就在004011AE下一个断点, 接下来就在004011AE下一个断点,因为这里有调用到 004011AE下一个断点 GetDlgItemTextA这个函数 GetDlgItemTextA这个函数
如何加载程序? 如何加载程序?
点击菜单 文件->打开 (快捷键是 F3)来打 文件F3) 开一个可执行文件进行调试 文件点击菜单 文件->附加 来附加一个已运行的 进程上进行调试。 进程上进行调试。注意这里要附加的程序必须已 运行。 运行。
基本操作: 基本操作:
1、准备工作 我们以Traceme这个软件为例,了解Traceme Traceme这个软件为例 Traceme序列号的验证流程 我们以Traceme这个软件为例,了解Traceme序列号的验证流程
F7与F8的区别:在遇到CALL时 F8会直接跳过, F7就跟进去 F7与F8的区别:在遇到CALL时,F8会直接跳过,而F7就跟进去 的区别 CALL 会直接跳过
4、设置断点
断点是调试器的一个重要功能, 断点是调试器的一个重要功能,它能使程序中断在需要的 地方,从而方便对其分析,常用的断点是INT3 INT3, 地方,从而方便对其分析,常用的断点是INT3,其原理是 OllyDbg将断点处的代码设置为int3指令 将断点处的代码设置为int3指令。 OllyDbg将断点处的代码设置为int3指令。 方法:将光标移动到要设断点的行, F2键就可以设置 方法:将光标移动到要设断点的行,按F2键就可以设置 了, 也可以双击Hex Hex数据列 也可以双击Hex数据列 目的:可以让软件运行的时候停在设断点的地方, 目的:可以让软件运行的时候停在设断点的地方,以方便 反复跟踪调试 当关闭程序时,OllyDbg会将设置好的断点保存在UDD文件 当关闭程序时,OllyDbg会将设置好的断点保存在UDD文件 会将设置好的断点保存在UDD 下次运行时还有效。 中,下次运行时还有效。
上面是我的总结,大家可以大致的了解一下, 上面是我的总结,大家可以大致的了解一下,有什么 不清楚的地方,可以过来跟我交流。 不清楚的地方,可以过来跟我交流。共享的文件里面 还有教程,大家可以根据里面的教程, 还有教程,大家可以根据里面的教程,做更深入的学 还有很多汇编代码的含义没有介绍, 习。还有很多汇编代码的含义没有介绍,共享文件里 面有完备的代码解释,可以好好看看,参考参考。 面有完备的代码解释,可以好好看看,参考参考。
5、调试

调试分析其实就是分析程序代码的意义,如图:
阅读这些代码时,首先要搞清楚各API函数的定义, 阅读这些代码时,首先要搞清楚各API函数的定义,还弄明白 API函数的定义 那些汇编程序代码的具体含义
6、保存修改后的文件
图中红色的就是我们修改的地方,然后就点右键, 图中红色的就是我们修改的地方,然后就点右键,复制到 文件,就可以保存当前的修改 文件,
然后就要开始分析这些汇编代码的意义,所以,我们在使 然后就要开始分析这些汇编代码的意义,所以, 用这个软件的时候,一定要明白这些代码的含义, 用这个软件的时候,一定要明白这些代码的含义,现在我 们只是先认识一下这个软件的作用, 们只是先认识一下这个软件的作用,所以就不为大家做出 分析,接下来就是修改代码了。其实我们要是分析下来, 分析,接下来就是修改代码了。其实我们要是分析下来, 可以发现,其实问题就在于一个代码行--004011F5 可以发现,其实问题就在于一个代码行
显示反汇编窗口中选中的第一 个命令的参数及一些跳转目标 地址、 地址、字串等
显示当前所选线程 的 CPU 寄存器内 容。
显示当前线程的堆栈 显示内存或文件的 内容。
反汇编窗口的列中,双击的效果 反汇编窗口的列中,双击的效果:
地址列:显示相对被单击地址的地址,再次 地址列:显示相对被单击地址的地址, 双击返回到标准地址模式; 双击返回到标准地址模式; Hex数据列:设置或取消无条件断点,对应 数据列: 数据列 设置或取消无条件断点, 的快捷键是F2键 的快捷键是 键; 反汇编列:调用汇编器,可直接修改汇编代 反汇编列:调用汇编器, 码; 注释列:允许增加或编辑注释,对应快捷键 注释列:允许增加或编辑注释, 是“;“键
调试中我们经常要用到的快捷键有这些: 调试中我们经常要用到的快捷键有这些:
F2:设置断点,只要在光标定位的位置(上图中灰色条)按F2键即 可,再按一次F2键则会删除断点 F8:单步步过。每按一次这个键执行一条反汇编窗口中的一条指令, 遇到 CALL 等子程序不进入其代码 F7:单步步入。功能同单步步过(F8)类似,区别是遇到 CALL 等子 程序时会进入其中,进入后首先会停留在子程序的第一条指令上 F4:运行到选定位置。作用就是直接运行到光标所在位置处暂停 F9:运行。按下这个键如果没有设置相应断点的话,被调试的程序 将直接开始运行 CTR+F9:执行到返回。此命令在执行到一个 ret (返回指令)指令 时暂停,常用于从系统领空返回到我们调试的程序领空 ALT+F9:执行到用户代码。可用于从系统领空快速返回到我们调 试的程序领空
工具介绍
OllyDbg调试器
什么是OllyDbg?
OllyDbg简称OD,是一款具有可视化界面的用户模式调试器,结合了动 态调试和静态分析,具有强大的反汇编引擎,能够识别数千个被C和 Windows所使用的函数,并能将其参数注释出,能自动分析函数过程、 循环语句、代码中的字符串等。
显示被调试程序的反汇编代 码
我们现在来举个简答你的例子
破解TraceMe的注册码 破解TraceMe的注册码 TraceMe 操作步骤如图:
首先当然要载入TraceMe, 首先当然要载入TraceMe,载入之后就会出现如下窗口 TraceMe
文件入口点
然后我们要找到GetDlgItemTextA函数,因为程序从文本框 然后我们要找到GetDlgItemTextA函数, GetDlgItemTextA函数 中将内容读取出来,需要用到这个函数。我们就用Ctrl+G 中将内容读取出来,需要用到这个函数。我们就用Ctrl+G 打开跟随表达式的窗口, 打开跟随表达式的窗口,在里面输入函数名就可以跟踪到 函数名存在的地方
相关文档
最新文档