Ollydbg简明使用指南

news2024/12/26 0:27:22

OllyDebug,简称OD,一种反汇编软件,动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3 级的调试器。OllyDebug的使用界面是可视化操作。

英文版

Read this for quick start. Consult help file for details and more features.

Installation is not necessary. Create new directory and unpack odbg110.zip - now you can start!

Pop-up menus display only items that apply. Frequently used menu functions:
 

FunctionWindowMenu commandShortcut
Edit memory as binary, ASCII or UNICODE stringDisassembler, Stack
Dump
Binary|EditCtrl+E
Undo changesDisassembler, Dump
Registers
Undo selection
Undo
Alt+BkSp
Run applicationMainDebug|RunF9
Run to selectionDisassemblerBreakpoint|Run to selectionF4
Execute till returnMainDebug|Execute till returnCtrl+F9
Execute till user codeMainDebug|Execute till user codeAlt+F9
Set/reset INT3 breakpointDisassembler
Names, Source
Breakpoint|Toggle
Toggle breakpoint
F2
Set/edit conditional INT3 breakpointDisassembler
Names, Source
Breakpoint|Conditional
Conditional breakpoint
Shift+F2
Set/edit conditional logging breakpoint (logs into the Log window)Disassembler
Names, Source
Breakpoint|Conditional log
Conditional log breakpoint
Shift+F4
Temporarily disable/restore INT3 breakpointBreakpointsDisable
Enable
Space
Set memory breakpoint (only one is allowed)Disassembler, DumpBreakpoint|Memory, on access
Breakpoint|Memory, on write
Remove memory breakpointDisassembler, DumpBreakpoint|Remove memory breakpoint
Set hardware breakpoint (ME/NT/2000 only)Disassembler, DumpBreakpoint|Hardware (select type and size!)
Remove hardware breakpointMainDebug|Hardware breakpoints
Set single-short break on access to memory block (NT/2000 only)MemorySet break-on-accessF2 
Set break on module, thread, debug string OptionsEvents
Set new originDisassemblerNew origin here
Display list of all symbolic namesDisassembler, Dump
Modules
Search for|Name (label)
View names
Ctrl+N
Context-sensitive help (requires external help file!)Disassembler, NamesHelp on symbolic nameCtrl+F1
Find all references in code to selected address rangeDisassembler
Dump
Find references to|Command
Find references
Ctrl+R
Find all references in code to the constantDisassemblerFind references to|Constant
Search for|All constants
Search whole allocated memoryMemory Search
Search next

Ctrl+L
Go to address or value of expressionDisassembler
Dump
Go to|Expression
Go to expression
Ctrl+G
Go to previous address/run trace itemDisassemblerGo to|PreviousMinus
Go to next address/run trace itemDisassemblerGo to|NextPlus
Go to previous procedureDisassemblerGo to|Previous procedureCtrl+Minus
Go to next procedureDisassemblerGo to|Next procedureCtrl+Plus
View executable fileDisassembler, Dump, ModulesView|Executable file
Copy changes to executable fileDisassemblerCopy to executable file
Analyse executable codeDisassemblerAnalysis|Analyse codeCtrl+A
Scan object files and librariesDisassemblerScan object filesCtrl+O
View resourcesModules, MemoryView all resources
View resource strings
Suspend/resume threadThreadsSuspend
Resume
Display relative addressesDisassembler, Dump, StackDoubleclick address
CopyMost of windowsCopy to clipboardCtrl+C

Frequently used global shortcuts:
 

Ctrl+F2Restart program
Alt+F2Close program
F3Open new program
F5Maximize/restore active window
Alt+F5Make OllyDbg topmost
F7Step into (entering functions)
Ctrl+F7Animate into (entering functions)
F8Step over (executing function calls at once)
Ctrl+F8Animate over (executing function calls at once)
F9Run
Shift+F9Pass exception to standard handler and run
Ctrl+F9Execute till return
Alt+F9Execute till user code
Ctrl+F11Trace into
F12Pause
Ctrl+F12Trace over
Alt+BOpen Breakpoints window
Alt+COpen CPU window
Alt+EOpen Modules window
Alt+LOpen Log window
Alt+MOpen Memory window
Alt+OOpen Options dialog
Ctrl+TSet condition to pause Run trace
Alt+XClose OllyDbg

Frequently used Disasembler shortcuts:
 

F2Toggle breakpoint
Shift+F2Set conditional breakpoint
F4Run to selection
Alt+F7Go to previous reference
Alt+F8Go to next reference
Ctrl+AAnalyse code
Ctrl+BStart binary search
Ctrl+CCopy selection to clipboard
Ctrl+EEdit selection in binary format
Ctrl+FSearch for a command
Ctrl+GFollow expression
Ctrl+JShow list of jumps to selected line
Ctrl+KView call tree
Ctrl+LRepeat last search
Ctrl+NOpen list of labels (names)
Ctrl+OScan object files
Ctrl+RFind references to selected command
Ctrl+SSearch for a sequence of commands
Asterisk (*)Origin
EnterFollow jump or call
Plus (+)Go to next location/next run trace item
Minus (-)Go to previous location/previous run trace item
Space (  )Assemble
Colon (:)Add label
Semicolon (;)Add comment

中文版

阅读这篇文章来快速入门。有关详细信息和更多功能,请参阅帮助文件。

不需要安装。创建新目录并解压缩odbg110.zip -现在可以开始了!

弹出式菜单只显示适用的项目。常用菜单功能:

功能窗口菜单命令快捷方式

编辑内存为二进制,ASCII或UNICODE字符串反汇编程序,堆栈

编辑二进制|按ctrl +E

撤销更改反汇编程序,转储

撤销选择

撤销alt + BkSp

运行application main debug |执行f9

运行到选择反汇编断点|运行到选择f4

执行直到返回主调试|执行直到返回ctrl +F9

执行至用户代码主调试|执行至用户代码alt +F9

设置/重置INT3断点反汇编程序

名称,源断点|切换

切换断点f2

设置/编辑条件INT3断点反汇编程序

名称、源断点|条件必选

条件断点shift +F2

设置/编辑条件日志断点(日志到日志窗口)反汇编程序

名称、源断点|条件必选日志

条件日志断点shift +F4

临时禁用/恢复INT3断点禁用

使空间

设置内存断点(只允许一个)反汇编程序,转储断点|内存,访问

断点|内存,写入时

删除内存断点反汇编程序,转储断点|删除内存断点

设置硬件断点(仅限ME/NT/2000)

主要调试|硬件断点

Set single short break on access to memory block (NT/2000 only

在模块、线程、调试字符串选项事件上设置中断

在这里设置新的原点

显示列表的所有符号名称反汇编,转储

模块搜索|名称(label)

查看名称ctrl +N

上下文敏感的帮助(需要外部帮助文件!)反汇编程序,名称帮助的符号名称ctrl +F1

在代码中找到所选地址范围的所有引用反汇编程序

dump查找|命令的参考信息

查找参考资料ctrl +R

查找代码中对常量disassembler的所有引用

搜索|所有常量

搜索整个已分配内存

搜索下一个

Ctrl + L

转到表达式反汇编程序的地址或值

dump转到|表达式

切换到表达式ctrl +G

进入上一个地址/运行跟踪项目反汇编进入|上一个减去

转到下一个地址/运行跟踪项目反汇编转到|下一个加

执行上一步操作反汇编程序执行|上一步操作ctrl +Minus

转到下一个步骤反汇编转到|下一个步骤按ctrl + +

查看可执行文件disassembler, Dump, modules查看|可执行文件

复制更改到可执行文件反汇编复制到可执行文件

分析可执行代码反汇编分析|分析代码ctrl +A

扫描对象文件和库反汇编扫描对象文件ctrl +O

查看资源模块、内存查看所有资源

查看资源字符串

Suspend/resume thread线程暂停

重新开始

显示相对地址反汇编程序,转储,堆栈双击地址

复制大部分窗口复制到剪贴板ctrl +C

常用的全局快捷键:

Ctrl+ f2重启程序

Alt+ f2关闭程序

f3打开新程序

f5最大化/恢复活动窗口

Alt+ f5使OllyDbg顶部

f7 step into(输入函数)

Ctrl+ f7 animate into(进入函数)

f8过渡(一次执行函数调用)

Ctrl+ f8动画结束(一次执行函数调用)

f9运行

Shift+ f9将异常传递给标准处理器并运行

Ctrl+ f9执行直到返回

Alt+ f9执行至用户代码

Ctrl+ f11 trace into

f12暂停

Ctrl+ f12跟踪结束

Alt+ b打开断点窗口

Alt+ c打开“CPU”窗口

Alt+ e打开“模块”窗口

Alt+ l打开日志窗口

Alt+ m打开内存窗口

Alt+ o打开选项对话框

Ctrl+ t设置条件暂停运行跟踪

Alt+ x关闭OllyDbg

常用的反汇编器快捷方式:

f2切换断点

Shift+ f2设置条件断点

f4跑到选择区

Alt+ f7返回之前的参考

Alt+ f8进入下一个参考

Ctrl+ a分析代码

Ctrl+ b开始二分查找

Ctrl+ c复制选择到剪贴板

按Ctrl+ e编辑二进制格式的选择

Ctrl+ f搜索命令

Ctrl+ g跟随表达式

Ctrl+ j显示跳转到选定行的列表

Ctrl+ k查看调用树

Ctrl+ l重复上次搜索

Ctrl+ n打开标签列表(名称)

Ctrl+ o扫描目标文件

Ctrl+ r查找所选命令的引用

Ctrl+ s搜索命令序列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/366797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hive窗口函数

概述 窗口函数(window functions)也叫开窗函数、OLAP函数。 如果函数具有over子句,则它是窗口函数 窗口函数可以简单地解释为类似于聚合函数的计算函数,但是通过group by 子句组合的 常规聚合会隐藏正在聚合的各个…

task与function

task和function主要是有助于代码的可重用性,都可以在module-endmodule之外声明。 1.function 1.1.function逻辑的综合 function:一个只有1个wire型输出值、全是组合逻辑的函数,且函数名即输出信号名,小括号中按顺序例化输入信号。…

C语言中#include<...>和#include“...“的区别

C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程…

深入浅出C++ ——哈希的应用

文章目录一、位图1. 位图的概念2. STL中的位图3. 位图的特点4. 位图的应用5. 位图的实现6. 位图的使用二、布隆过滤器1. 布隆过滤器提出2. 布隆过滤器概念3. 布隆过滤器的设计思路4. 布隆过滤器的插入5. 布隆过滤器的查找6. 布隆过滤器删除7. 布隆过滤器的优缺点8. 布隆过滤器的…

div增加鼠标点透,css设置点击穿透

需求:将一张照片盖到一个div上面,但同时下面div上面的点击事件不受影响。 这样就需要用到 CSS 的鼠标穿透属性:pointer-events: none,下面主要对pointer-events属性的值做一个简单的介绍。 pointer-event的所有属性值: pointer…

计讯物联环保数采仪全系列产品为节能降耗减碳贡献绿色力量

政策背景 近日,工业和信息化部、国家发展改革委、生态环境部三部门联合印发《工业领域碳达峰实施方案》(以下简称“方案”)。《方案》提出,促进中小企业绿色低碳发展。优化中小企业资源配置和生产模式,探索开展绿色低…

在字节跳动,造赛博古籍

“你在字节跳动哪个业务?”“古籍数字化。把《论语》《左传》《道德经》这些古籍变成电子版,让大家都能免费看。”没错,除了你熟悉的那些 App,字节跳动还在做一些小众而特别的事情,古籍数字化就是其中之一。在字节跳动…

Python+Selenium4元素交互1_web自动化(5)

目录 0. 上节回顾 1. 内置的等待条件 2. 元素属性 1. Python对象属性 2. HTML元素属性 3. 元素的交互 1. 输入框 2. 按钮 3. 单选框和复选框 0. 上节回顾 DEBUG的方式:JS断点 Python断点编程语言提供的等待方式:sleepselenium提供的等待方式&…

CDGA|浅谈“以治促用,以用促治”的数据治理战略

数据治理夯实企业数字化转型基础。采取“以治促用,以用促治”的数据治理战略,可以充分释放了企业核心运行要素的活力。 “以治促用”是指通过建立在数据治理链路及用户多维评估系统的基础上,对数据资产重新进行价值识别,推进高价值…

30岁测试开发年薪不足50万,被面试官嘲讽混得太差?

近日,有网友发帖称:“30岁去应聘测试开发,拿不到七八十万的年薪确实有点丢人了,还被面试官diss混得太差了”,网友们看完都炸了。 来看看网友们都是怎么说的。 有网友说: 扯淡 有网友气到: 那拿…

接口自动化

为了实现真正意义上的接口自动化,一般使用yaml文件存储测试用例,代码调用里面的数据来发送请求 Controller RequestMapping("/send") public class Login {ResponseBodyRequestMapping("/login")public State login(String name,Str…

ES6-ES11基本全部语法

在进入es6语法之前,先走一波es5遍历迭代Api,,它们的作用,应用场景,参数,以及返回值分别是什么。(forEach、map、some、every、filter)我们统一设定一个初始数组:let arra…

Prophet 处理时间序列数据

Prophet 处理时间序列数据 flyfish 论文地址 https://peerj.com/preprints/3190/ 官网 https://facebook.github.io/prophet/ 源码地址 https://github.com/facebook/prophet hon import pandas as pd from prophet import Prophet df pd.read_csv(https://raw.githubuse…

2月23号作业

题目:题目一:通过操作Cortex-A7核,串口输入相应的命令,控制LED灯进行工作--->上传CSDN 1.例如在串口输入led1on,开饭led1灯点亮 2.例如在串口输入led1off,开饭led1灯熄灭 3.例如在串口输入led2on,开饭led2灯点亮 4.例如在串口输…

[HarekazeCTF2019]Easy Notes

知识点:session 反序列化,代码审计代码分析 flag.php 中有个 is_admin 函数的判断。 在 lib.php 中有 is_admin 函数,需要 session[admin] 为 true,或者通过文件读取的方式。 在 index.php 中的 include 并不能使用伪协议读取 …

JVM回顾与Java虚拟机的内存管理

目录 什么是JVM? 主流虚拟机 JVM与操作系统关系 JVM、JRE、JDK的关系 Java程序的执行过程 JVM翻译字节码有三种执行方式 Java虚拟机的内存管理 JVM整体架构图 JVM运行时内存 Java7和Java8内存结构的不同主要体现在方法区的实现 对于Java8,HotSp…

Hadoop MapReduce基本概念与详细流程

Hadoop MapReduce是Hadoop 中一个批量计算的框架,在整个mapreduce作业的过程中,包括从数据的输入,数据的处理,数据的数据输入这些部分,而其中数据的处理部分就要map,reduce,combiner等操作组成。…

刚接手的APP项目需要优化,需要从哪些方向入手?

对于每个Android 开发团队来说产品上线,是让人喜忧参半的一件事。**喜指的是:付出了大量的时间,产品终于上线了;而忧指的是:担心中间会不会出现一些性能相关的问题,比如卡顿、内存泄漏、崩溃……等&#xf…

干翻 nio ,王炸 io_uring 来了 !!(图解+史上最全)

大趋势:全链路异步化,性能提升10倍 随着业务的发展,微服务应用的流量越来越大,使用到的资源也越来越多。 在微服务架构下,大量的应用都是 SpringCloud 分布式架构,这种架构总体上是全链路同步模式。 全链…

java 抽象类 详解

目录 一、抽象类概述: 二、抽象方法 : 1.概述 : 2.应用 : 3.特点 : 三、抽象类特点 : 1.关于abstract关键字 : 2.抽象类不能被实例化,只能创建其子类对象 : 3.抽象类子类的两个选择 : 四、抽象类的成员 : 1.成员变量 : 2.成员方…