四、OllyDbg学习

本文介绍了动态调试工具OllyDbg的安装过程,包括下载、解压、路径修复和添加到资源管理器右键菜单。详细讲解了OllyDbg的界面构成和各个窗口的功能,如反汇编窗口、寄存器窗口、信息窗口、数据窗口和堆栈窗口。此外,还列出了一些常用的工具栏快捷方式和调试快捷键,如F2设置断点、F9运行程序、F7单步步入等。OllyDbg因其强大的调试能力,常用于程序分析和逆向工程。
摘要由CSDN通过智能技术生成

一、简介

OD,是一个反汇编工具,又叫OllyDebug,一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3 级的调试器,己代替SoftICE成为当今最为流行的调试解密工具了。同时还支持插件扩展功能,是目前最强大的调试工具。

二、安装

下载链接:https://down.52pojie.cn/Tools/Debuggers/

image1.png

下载完成后解压,文件夹文件目录如下。使用前将安装包解压到固定目录下,然后运行根目录下的”路径修复工具.exe“文件,这个文件会自动把ollydbg.ini中的“C:\吾爱破解专用版Ollydbg”路径全部替换成当前解压出来的文件夹路径,方便程序识别插件和一些功能,当你移动OD目录后,也要进行同样操作,更新配置中的路径。
image2.png
除了直接启动 OllyDBG 来调试外,我们还可以把 OllyDBG 添加到资源管理器右键菜单,这样我们就可以直接在 .exe 及 .dll 文件上点右键选择“用Ollydbg打开”菜单来进行调试。要把 OllyDBG 添加到资源管理器右键菜单,只需点菜单 选项->添加到浏览器,将会出现一个对话框,先点击“添加 Ollydbg 到系统资源管理器菜单”,再点击“完成”按钮即可。要从右键菜单中删除也很简单,还是这个对话框,点击“从系统资源管理器菜单删除 Ollydbg”,再点击“完成”就行了。

image3.png

通过Options->Appearance->Directions可以配置OD的UDD 路径和Plugin路径

image4.png

其中UDD路径保存了我们调试的信息:

image5.png

Plugin插件路径包含了各种插件:
image6.png

三、界面介绍

image7.png

如上图所示几个部分:

  1. 菜单栏:对文件的主要操作及其功能,命令以及操作、显示等都在这里。
  2. 工具栏:常用功能的便捷按钮
  3. 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。
  4. 寄存器窗口:显示当前所选线程的 CPU 寄存器内容。同样点击标签 寄存器 (FPU) 可以切换显示寄存器的方式。
  5. 信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。
  6. 数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。
  7. 堆栈窗口:显示当前线程的堆栈。

四、窗口内容介绍

  1. 首先运行待分析文件,选择File->Open或使用热键F3,载入Hello.exe.

  2. 反汇编窗口内容主要分为4个部分:1:程序汇编地址;2:机器码;3:反汇编语句;4:注释信息窗口。如下图
    反汇编窗口

  3. 当前所选线程的CPU寄存器内容。点击标签寄存器(FPU)可以切换显示寄存器的方式。

其中显示的有1:通用寄存器信息;2:标志位、段寄存器信息;3:浮点寄存器信息

image10.png

  1. 信息窗口显示当前选中的命令的参数:EBP的值
    image11.png

  2. 数据窗口显示内存和文件的内容,主要分为3个部分:1:中转数据仓库地址;2:HEX二进制代码;3:文本ACCII编码
    image12.png

  3. 堆栈窗口:显示 ESP寄存器指向的信息

image13.png

五、工具栏快捷方式介绍

image14.png

按钮1=F3,打开被调试的exe文件;按钮2=CTRL+F2,重新加载被调试的程序。按钮3=ALT+F2,关闭被测试的文件。


image15.png

1=F9运行,2=F12暂停,3=F7单步入,4=F8单步过,5=CTRL+F11跟踪步入,6=CTRL+F12跟踪步过;7=CTRL+F9 执行到返回,8=转到反汇编窗口的地址


image16.png

L:查看OD运行的日志信息

image17.png

E:被调试exe程序所加载的所有模块的信息(加载基址,大小,入口(OEP),名称,版本,路径)OEP:(Original Entry Point)image18.png
M:程序的内存映射视图(memory map)
image19.png

T:线程信息

image20.png

W:窗口windows信息
H:handles 句柄表
image21.png
C:显示CPU窗口(反汇编窗口)ALT+C
/ :P,显示补丁(Patches)信息 CTRL+P
K:调用堆栈 ALT+K
B:软件断点列表 Alt+B
R:显示参考(数据引用等) references
image22.png
… : RUN跟踪轨迹,run trace
S :源码source显示窗口

五、常用快捷键

调试中我们经常要用到的快捷键有这些:
F2:设置断点,只要在光标定位的位置(上图中灰色条)按F2键即可,再按一次F2键则会删除断点。
F4:运行到选定位置。作用就是直接运行到光标所在位置处暂停。
F7:单步步入。功能同单步步过(F8)类似,区别是遇到 CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上。
F8:单步步过。每按一次这个键执行一条反汇编窗口中的一条指令,遇到 CALL 等子程序不进入其代码。
F9:运行。按下这个键如果没有设置相应断点的话,被调试的程序将直接开始运行。
CTR+F9:执行到返回。此命令在执行到一个 ret (返回指令)指令时暂停,常用于从系统领空返回到我们调试的程序领空。
ALT+F9:执行到用户代码。可用于从系统领空快速返回到我们调试的程序领空。


工具栏对应的快捷方式有

Ctrl+A :分析代码(函数,参数…)
Ctrl+G : 跳转到
Ctrl+X : 复制地址
Ctrl+E :修改内存
Ctrl+B :二进制搜索
Ctrl+F :指令搜索(单条指令)
Ctrl+S :指令搜索(多条指令)
Ctrl+F9 :运行到返回(ret指令位置)
Ctrl+F12: 重启调试
Ctrl+Shift+x :复制二进制数据

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值