OllyDbg基础教程

工具栏

各种窗口切换


1.日志窗口(L):
2.模块窗口(E):查看每个模块的内存基址


3.内存窗口(M):查看每一个模块的段,所占用的内存区域


4.线程窗口(T):线程信息
5.窗口(W):查看程序的窗口句柄,窗口名,风格样式,回调函数等信息
6.句柄(H):
7.反汇编窗口( C):也就是我们的汇编代码显示窗口—很重要
8.补丁窗口(/):
9:堆栈窗口(K):可以查看调用堆栈,调试时堆栈回溯—很重要
10.断点窗口(B):所有的F2断点都显示在这里
11.参考( R):比如如果你显示了参考字符串,可以在这个窗口找到
12.run跟踪窗口(…):

如何开始调试

  • 直接调试:
    • 拖拽方式:直接把文件拖拽到OD打开
    • 菜单栏-文件-打开
  • 附加调试:
    • 可以调试正在运行的程序
  • 设置为默认的调试器:
    • 在程序崩溃的时候,能够接管程序,调试错误
  • 调试DLL文件:
    • Dll一般不是作为独立的程序运行,所以也不能执行
    • OD能够独立的调试DLL,OD自己运行了一个程序,程序使用LoadLibrary加载DLL,然后可以调试DLL

OD主界面:
主要分为四部分:反汇编窗口、寄存器窗口、内存窗口、堆栈窗口

在这里插入图片描述

 


数据窗口支持查看各种类型的数据:
常用的几种形式:

  • 十六进制 +ASC或者UNICODE的方式
  • 长整型中的地址的形式(识别IAT比较明确的形式)
  • 反汇编形式:

常用功能快捷键

术语

断点:程序被中断的地方
领空:程序自己程序码所处的位置
程序入口点,也叫OEP:程序在开始运行时执行的第一条指令的地址

快捷键

F2: 设置断点或双击HEX数据列
F8: 单步步过
F7: 单步步入,遇到CALL指令会进入其中,进入后会停在子程序第一条指令前
F4: 运行到选定位置,直接运行到光标所在位置暂停
F9: 运行,按下这个件如果没有设置相应断点的话,被调式的程序将直接开始运行
Ctrl+F9: 执行到返回,此命令在执行到一个ret指令时暂停,常用于从系统领空返回到我们调试的程序领空
Alt+F9: 执行到用户代码,可用于从系统领空快速返回到我们调试的程序领空

  • 跳转地址
    • 在jmp或者call指令上按回车,跟踪进入
    • +号前进一步
    • -号后退一步
  • 修改汇编指令
    • 双击反汇编窗口
    • 按下空格
  • 修改内存,编辑二进制代码
    • Ctrl+E,不同窗口编辑不同地方
  • 查找指令
    • Ctrl+F 搜索一条指令
    • Ctrl+L 搜索下一条指令
    • Ctrl+s 搜索多条指令
  • 分析代码
    • Ctrl+A 分析代码
  • 注释
    • 左键点击注释列
    • 右键点击注释,添加注释
    • 快捷方式 ---- 分号注释
  • 添加标签
    • 只能给地址添加标签,不能是[ebp+8]
    • 冒号(快捷方式)
  • 查找指定地址
    • Ctrl+G
    • 输入地址或者API函数名
    • 查找API地址==>(在内存窗口使用dp+MessageBoxA也能做到)
  • 字符串搜索
    • 使用插件 ----- 中文搜索引擎
    • 右键—查看—所有文本字符串
  • 重新启动程序
    • Ctrl+F2
  • 内存窗口命令栏
    • dd +地址 看该地址内存
    • dp +MessageBoxA 定位API函数

OD分析信息

我们分析程序下的断点,添加的标签,注释等到信息,都保存在UDD文件夹中
如果想让别人分享你的分析成果,可以把UDD文件发给对方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值