OD快捷键使用大全。非常详细(游戏逆向分析必看)

无论当前的OllyDbg窗口是什么,这些快捷键均有效:
 

Ctrl+F2 - 重启程序,即重新启动被调试程序。如果当前没有调试的程序,OllyDbg会运行历史列表[history

list]中的第一个程序。程序重启后,将会删除所有内存断点和硬件断点。

译者注:从实际使用效果看,硬件断点在程序重启后并没有移除。


Alt+F2 - 关闭,即关闭被调试程序。如果程序仍在运行,会弹出一个提示信息,询问您是否要关闭程序。

 

F3 - 弹出“打开32位.EXE文件”对话框[Open 32-bit .EXE file],您可以选择可执行文件,并可以输入运行参数。

 

Alt+F5 -

让OllyDbg总在最前面。如果被调试程序在某个断点处发生中断,而这时调试程序弹出一个总在最前面的窗口(一般为模式消息或模式对话框[modal message

or dialog]),它可能会遮住OllyDbg的一部分,但是我们又不能移动最小化这个窗口。激活OllyDbg(比如按任务栏上的标签)并按

Alt+F5,OllyDbg将设置成总在最前面,会反过来遮住刚才那个窗口。如果您再按一下Alt+F5,OllyDbg会恢复到正常状态。

OllyDbg是否处于总在最前面状态,将会保存,在下一次调试时依然有效。当前是否处于总在最前面状态,会显示在状态栏中。


F7 -

单步步入到下一条命令,如果当前命令是一个函数[Call],则会停在这个函数体的第一条命令上。如果当前命令是是含有REP前缀,则只执行一次重复操作。


Shift+F7 -

与F7相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步入被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。


Ctrl+F7 -

自动步入,在所有的函数调用中一条一条地执行命令(就像您按住F7键不放一样,只是更快一些)。当您执行其他一些单步命令,或者程序到达断点,或者发生异常时,自动步入过程都会停止。每次单步步入,OllyDbg都会更新所有的窗口。所以为了提高自动步入的速度,请您关闭不必要成窗口,对于保留的窗口最好尽量的小。按Esc键,可以停止自动步入。
 

F8 -

单步步过到下一条命令。如果当前命令是一个函数,则一次执行完这个函数(除非这个函数内部包含断点,或发生了异常)。如果当前命令是含有REP前缀,则会执行完重复操作,并停在下一条命令上。
 

Shift+F8 -

与F8相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步过被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。
 

Ctrl+F8 -

自动步过,一条一条的执行命令,但并不进入函数调用内部(就像您按住F8键不放一样,只是更快一些)。当您执行其他一些单步命令,或者程序到达断点,或者发生异常时,自动步过过程都会停止。每次单步步过,OllyDbg都会更新所有的窗口。所以为了提高自动步过的速度,请您关闭不必要成窗口,对于保留的窗口最好尽量的小。按Esc键,可以停止自动步过。
 

F9 - 让程序继续执行。


Shift+F9 -

与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。
 

Ctrl+F9 -

执行直到返回,跟踪程序直到遇到返回,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条命令执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。
 

Alt+F9 -

执行直到返回到用户代码段,跟踪程序直到指令所属于的模块不在系统目录中,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。
 

Ctrl+F11

-Run跟踪步入,一条一条执行命令,进入每个子函数调用,并把寄存器的信息加入到Run跟踪的存储数据中。Run跟踪不会同步更新CPU窗口。
 

F12 - 停止程序执行,同时暂停被调试程序的所有线程。请不要手动恢复线程运行,最好使用继续执行快捷键或菜单选项(像 F9)。
 

Ctrl+F12 - Run跟踪

步过,一条一条执行命令,但是不进入子函数调用,,并把寄存器的信息加入到Run跟踪的存储数据中。Run跟踪不会同步更新CPU窗口。
 

Esc - 如果当前处于自动运行或跟踪状态,则停止自动运行或跟踪;如果CPU显示的是跟踪数据,则显示真实数据。
 

Alt+B - 显示断点窗口。在这个窗口中,您可以编辑、删除、或跟进到断点处。

Alt+C - 显示CPU窗口。

Alt+E - 显示模块列表[list of modules]。
 

Alt+K - 显示调用栈[Call stack]窗口。
 

Alt+L - 显示日志窗口。
 

Alt+M - 显示内存窗口。

 

Alt+O - 显示选项对话框[Options dialog]
 

Ctrl+P - 显示补丁窗口。
 

Ctrl+T - 打开 暂停 Run跟踪 对话框
 

Alt+X - 关闭 OllyDbg。
 

大多数窗口都支持以下的键盘命令:
 

Alt+F3 - 关闭当前窗口。

c.&vWmLSGE 

Ctrl+F4 - 关闭当前窗口。

F5 - 最大化当前窗口或将当前窗口大小改为正常化。
 

F6 - 切换到下一个窗口。
 

Shift+F6 - 切换到前一个窗口。
 

F10 - 打开与当前窗口或面板相关的快捷菜单。
 

左方向键 - 显示窗口左方一个字节宽度的内容。
 

Ctrl+左方向键 - 显示窗口左方一栏的内容。
 

右方向键 - 显示窗口右方一个字节宽度的内容


Ctrl+右方向键 - 显示窗口右方一栏的内容
 

反汇编窗口中的快捷键[Disassembler shortcuts]
 

当CPU窗口中的反汇编面板[Disassembler pane]处于激活状态时,您可以使用以下快捷键:
 

回车键 - 将选中的命令添加到命令历史[command history]中,如果当前命令是一个跳转、函数或者是转换表的一个部分,则进入到目的地址。
 

退格键 - 移除选中部分的自动分析信息。如果分析器将代码误识别为数据,这个快捷键就非常有用。请参考解码提示[decoding hints]. 


Alt+退格键 - 撤消所选部分的修改,以备份数据的相应内容替换所选部分。仅当备份数据存在且与所选部分不同时可用。


Ctrl+F1 -如果API帮助文件已经选择,将打开与首个选择行内的符号名相关联的帮助主题。
 

F2 -在首个选择的命令上开关INT3 断点[Breakpoint],也可以双击该行第二列。
 

Shift+F2 -在首个选择命令设置条件断点,参见忽略Kernel32中内存访问异常[Ignore memory access violations

in Kernel32]。
 

F4

-执行到所选行,在首个选择的命令上设置一次性断点,然后继续执行调试程序,直到OllyDbg捕获到异常或者停止在该断点上。在程序执行到该命令之前,该一次性断点一直有效。如有必要,可在断点窗口[Breakpoints

window]中删除它。
 

Shift+F4 -设置记录断点(一种条件断点,当条件满足时一些表达式的值会记录下来), 详情参见断点[Breakpoint]。
 

Ctrl+F5 -打开与首个选择的命令相对应的源文件。

 
Alt+F7 -转到上一个找到的参考。
 

Alt+F8 -转到下一个找到参考。
 

Ctrl+A -分析当前模块的代码段。


Ctrl+B - 开始二进制搜索。
 

Ctrl+C -复制所选内容到剪贴板。复制时会简单地按列宽截断不可见内容,如果希望排除不需要的列,可把这些列的宽度调整到最小。
 

Ctrl+E -以二进制(十六进制)格式编辑所选内容。
 

Ctrl+F -开始命令搜索。
 

Ctrl+G -转到某地址。该命令将弹出输入地址或表达式的窗口。该命令不会修改 EIP。


Ctrl+J -列出所有的涉及到该位置的调用和跳转,在您用这个功能之前,您必须使用分析代码功能。

Ctrl+K - 查看与当前函数相关的调用树[Call tree]。在您用这个功能之前,您必须使用分析代码功能。


Ctrl+L - 搜索下一个,重复上一次的搜索内容。
 

Ctrl+N - 打开当前模块的名称(标签)列表。


Ctrl+O -

扫描object文件。扫描Object文件。该命令会显示扫描Object文件对话框,您可以在该对话框中选择Object文件或者lib文件,并扫描这个文件,试图找到在实际代码段中用到的目标模块。
 

Ctrl+R

-搜索所选命令的参考。该命令扫描激活模块的全部可执行代码,以找到涉及到首个选中的命令的全部相关参考(包括:常量、跳转及调用),您可以在参考中使用快捷键

Alt+F7 和 Alt+F8来浏览这些参考。为便于您使用,被参考的命令也包含在该列表中。


Ctrl+S -命令搜索。该命令显示命令查找[Find command]对话框供您输入汇编命令,并从当前命令开始搜索。
 

星号[Asterisk](*) -转到原始位置(激活线程的EIP处)。


Ctrl+星号(*) - 指定新的起始位置,设置当前所选线程的EIP为首个选择字节的地址。您可以在选择EIP并撤消该操作。


加号[Plus](+) -如果run跟踪[run trace] 没有激活,则根据命令历史[command

history]跳到下一条运行过命令的地方;否则跳到Run跟踪的下一个记录。
 

Ctrl+加号 - 跳到前一个函数开始处。(注意只是跳到,并不执行)


减号[Minus](-) - 如果run跟踪[run trace] 没有激活,则根据命令历史[command

history]跳到前一条运行过命令的地方;否则跳到Run跟踪的前一个记录。


Ctrl+减号 - 跳到下一个函数开始处。(注意只是跳到,并不执行)
 

空格[Space] -

修改命令。您可在显示对话框中以汇编语言修改实际指令或输入新指令,这些指令将替换实际代码,您也可以在想要修改的指令处双击鼠标。
 

冒号[Colon]( - 添加标签。显示添加标签窗口[Add label]或修改标签窗口[Change

label],您可在此输入与首个选择的命令中的第一个字节相关联的标签(符号名)。注意,在多种编程语言中,冒号可以是标签的一部分。


分号[Semicolon](;) - 添加注释[comment]。显示添加注释窗口[Add label]或修改注释窗口[Change

label],您可在此输入与首条所选命令的第一个字节相关联的注释(注释串会显示在最后一列中)。注意,多种汇编语言使用分号作为注释开始。您也可以在注释列双击需要注释的命令行。
 

命令行插件支持的命令
 

CALC

判断表达式
 

WATCH

添加监视表达式


AT

在指定地址进行反汇编


FOLLOW

跟随命令

ORIG

反汇编于 EIP
 

DUMP

在指定地址进行转存


DA

转存为反汇编代码
 

DB

使用十六进制字节格式转存
 

DC

使用 ASCII 格式转存


DD

转存在堆栈格式
 

DU

转存在 UNICODE 格式


DW

使用十六进制字词格式转存
 

STK

 

AS

(AS + 地址 + 字符串)

在指定地址进行汇编
 

BP

进行条件中断(有条件的断点)


BPX

中断在全部调用 (Call)

BPD

清除全部调用中的断点
 

BC

清除断点
 

MR

内存断点于访问时
 

MW

内存断点于写入时
 

MD

清除内存断点
 

HR

访问时进行硬件中断
 

HW

写入时进行硬件中断


HE

执行时进行硬件中断
 

HD

清除硬件断点
 

STOP

停止运行程序调试

PAUSE

暂停执行程序调试
 

RUN

运行程序进行调试
 

GE

运行和通过例外


SI

单步进入 Call 中

SO

步过 Call

TI

跟踪进入直到地址
 

TO

跟踪步过直到地址

TC

跟踪进入直到满足条件


TOC

跟踪步过直到满足条件
 

TR

运行直到返回
 

TU

运行直到用户代码
 

LOG

查看记录窗口
 

MOD

查看模块窗口


MEM

查看内存窗口


CPU

查看 CPU 窗口


CS

查看 Call 堆栈
 

BRK

查看断点窗口


OPT

打开选项设置窗口
 

EXIT

退出 OllyDbg
 

QUIT

退出 OllyDbg
 

OPEN

打开一个可执行文件
 

CLOSE

关闭可执行文件
 

RST

重新运行当前程序
 

HELP

查看 API 函数的帮助
 

  • 8
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
在 [安全攻防进阶篇] 中,有关于逆向分析的教程可以帮助你了解如何使用OllyDbg逆向CrackMe程序。 OllyDbg是一种常用的逆向工具,可以用于分析和修改程序的执行流程和内存。使用内存断点和普通断点,可以在程序执行过程中捕获关键的代码位置,帮助我们找到CrackMe程序的OEP(Original Entry Point),即程序的入口点。 在 [安全攻防进阶篇] 中还有关于逆向分析两个CrackMe程序的详细教程,包括逆向分析和源码还原的步骤。这些教程将帮助你理解逆向分析的基本概念和技巧,提升你的安全能力。 如果你想深入学习如何使用OllyDbg逆向CrackMe程序,可以参考这些教程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [[安全攻防进阶篇] 六.逆向分析之OllyDbg逆向CrackMe01-02及加壳判断](https://blog.csdn.net/Eastmount/article/details/107777190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [逆向crackme之ESp定律脱壳](https://blog.csdn.net/qq_58970968/article/details/125357834)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值