浅谈逆向——OD杂项(OD的使用4)

浅谈逆向-OD杂项

Run trace

Run跟踪可以把被调试程序执行过的指令保存下来,以便了解之前发生的事情。该功能将地址,寄存器的内容,消息等记录到Run trace的缓冲区中。在运行之前,将缓冲区空间设置的较大一些,否则在执行指令太多时会造成缓冲区溢出(OD会自动丢弃旧纪录)。

可以使用快捷键ALT+O打开调试选项,跟踪标签页中进行设置。如果需要将数据保存在文件中,需要单击菜单功能项中的…,单击右键,执行记录到文件。

需要运行时,只需要单击调试->打开或清楚Run跟踪。打开它的缓冲区后,OD会记录执行过程中所有的暂停,使用小键盘的±号可以浏览程序的执行路线。OD会用实际的内存状态解释寄存器和栈的变化。

当反汇编窗口显示被调试程序领空时,在窗口右键快捷菜单栏中选择Run追踪->添加所有函数入口,检查每个可识别函数调用的次数。运行后可以在Run跟踪窗口中的右键菜单中执行统计模块命令,查看次数。

Hit trace

它的作用时让用户知道哪一部分代码被执行了,那一部分没有。OD的方法时:选中区域每条指令下断CC,中断时OD便去除,故此在使用Hit trace时不能再数据中设置断点。

当遇到转跳分支较多的代码时,需要了解执行路线,可以选中这段代码,然后单击右键快捷菜单Hit 追踪->添加选中部分。F9运行,OD会在已被执行的指令前用不同的颜色添加标记。 没有相关命令,使用Ctrl+A分析代码。

OD常见问题

1.乱码
OD将代码当作了数据处理,没有进行反汇编识别。
解决方法:

  • 右键->分析->分析代码 Ctrl+A
    分析->在模块中删除分析
    在UDD目录中删除相应UDD文件

2.快速回到当前程序领空
如果想快速回到当前CPU所在的指令处
解决方法:

  • 双击寄存器面板的EIP或者单击菜单栏C

3.OD修改EIP
解决方法

  • 将光标移动至需要修改的地址处,右键菜单在此处新建EIP
    Ctrl+*

4.UDD
OD把所有与程序或者模块相关的信息保存在单独的文件中,以便在模块重新加载时,继续使用。(标签,注释,断点,监视,分析数据,条件)

5.已经删除的断点,OD重新加载时依旧出现
解决方法:

  • 配置文件ollydbg.ini 中使Backup UDD files=1;

6.OD反汇编窗口输入push E000会提示未知标识符
无法正确识别字符是字母还是数字
解决方法:

  • 在字母前加0表示是数字

7.OD出现假死现象
OD调试加壳程序,运行到断点,OD就可能出现假死。
解决方法:

  • 打开配置文件,ollydbg.ini。如果Restore windows 是一个极大的值,就会设为0.

8.微调窗口显示
通过Ctrl+上下箭头对反汇编窗口或数据窗口翻动1字节。

9.复制到可执行文件时,提示错误信息“Unable to locate data in executable file”
修改的地方不再RawSize范围内,修改PE文件,使RawSize=VirtualSize

10.把call调用改成函数名形式
例如:

  • call XXXXXX 假设XXXXXX处是A函数,将光标停在该处,按Shift+;会弹出一个标签框,在其中输入字符A,所有调用XXXXXX处的call指令都会变成call的形式。

11.设置OD为即时调试器
管理员身份运行OD,选项->实时调试设置->设置OD为实时调试器即可。

12.在右键快捷菜单中添加用OD打开
选项->添加到资源管理器右键菜单 即可,

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 [安全攻防进阶篇] 中,有关于逆向分析的教程可以帮助你了解如何使用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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值