Ollydbg是一个新的32位的汇编层调试软件。适应于windows98、me、2000、xp和2003操作系统。由于他具有图形窗口界面,所以操作方便、直观,是cracker的好工具。
由于Ollydbg没有了TRW2000的万能断点,所以许多的新手感觉到用Ollydbg断点不好找。现在我来的说说Ollydbg下中断的几种方法。本人是个菜鸟,水平有限,可能不能完整的写出来,也可能存在错误。请大家指正。
我所表述的是Ollydbg v1.09d中文版,其他版本和英文版下自己参考。

第一 寻常断点
Ollydbg中一般下中断的方法,就是在程序的地址处用鼠标选择这一行。然后按F2键,这时被选择的那一行的地址会变成别的颜色,就表示这个地址处下了中断。然后运行程序时只有到这个地址处就会被Ollydbg中断。
这个方法用的比较多,所以把他称作寻常断点。
如果有命令行插件,就可以在命令窗口中输入BPX xxxxxxxx 下断点。
优点:只要自己怀疑是重要的代码处都可以下这种下断点,不受条件的限制,所以方便实用。
缺点:如果不知道代码功能下断点具有盲目性。

第二 API断点 (跟踪关键API的断点)
Ollydbg中一般下API中断的方法,有二种。
1. 在代码窗口中点鼠标右键,出现功能菜单。在[搜索]选择项下有〔当前模块的名称〕和〔全部模块的名称〕俩项,选择其中的一项就打开了程序调用API的窗 口,在这个窗口中选择你要跟踪的API函数名。双击这个函数就能到程序的调用地址处。然后用F2下中断。也可以在API窗口中选择需要跟踪的函数点鼠标右键出现功能菜单,选择〔在每个参考设置断点〕。同样下了断点。
快捷方式:Ctrl+N
2. 在命令行窗口中输入BPX API函数名或者BP API函数名后回车。这时出现了所有调用这个函数的地址的窗口,在这个窗口中可以看到调用这个API函数的地址已改变了颜色。说明下好了断点。
说明一下:BPX一般中断在程序调用API的地址处。BP会中断在API的写入地址处。二这有所不同,根据需要选择。
优点:这种方法下的断点是针对每一个API函数的,所以具有明确的目的。
缺点:关键的API函数不容易找到。所以有时下的断点没有作用。

第三 内存断点(跟踪关键数据的断点)
Ollydbg中的内存断点相当于TRW中的bpm 断点。
下断点的方法是:在程序运行中断时选择界面中的转存窗口,用光标选择内存中的一段关键数据(颜色会改变),然后右击鼠标出现功能菜单。选择〔断点〕项,其中有二个选择〔内存访问〕和〔内存写入〕。
〔内存访问〕断点是程序运行时要调用被选择的内存数据时就会被Ollydbg中断,根据这个特点在破解跟踪时只要在关键数据内存中下中断就可以知道程序在什么地方和什么时候用到了跟踪的数据。对于一些复杂算法和流程变态的算法跟踪有很大的帮助。从破解上讲,一个注册码的生成一定是由一些关键数据或者原始数据计算来的。所以在内存中一定要用到这些关键数据。那么〔内存访问〕断点就是最好的中断方法。
〔内存写入〕断点是程序运行时向被选择的内存地址写入数据时就会被Ollydbg中断。根据这个特点在破解时可以跟踪一个关键数据是什么时候生成的,生成的代码段在那个地方。所以一个关键的数据如果不知道他的由来就可以用〔内存访问〕断点查找计算的核心。
内存中断的下断点还有另外的一种方法:程序运行时如果知道关键的数据,比如我们输入的试验码、程序生成的序列号等。这时在内存中一定存在这些数据。用 Alt+M打开内存窗口,在这个窗口中搜索知道的关键数据。用光标选择这些数据同样下内存中断,这种方法更容易找的关键的数据。
优点:断点是直接面向关键数据的,所以比较容易到核心部分。
缺点:内存断点重新运行后会消失,干扰比较多。

第四 硬件断点(跟踪关键标志的断点)
硬件断点是Olldbg所特有的断点,他不会因为重新运行就销毁,只要不删除。跟踪这个程序时就有效。但他在98系统下会不起作用。
硬件断点是根据关键标志回逆到关键代码的好方法。下中断的方法和内存断点的方法相同,有三个方式〔硬件访问〕、〔硬件写入〕、〔硬件执行〕。一般用前2个。 他也同样有内存断点的特性,所以可以用内存断点的地方也可以用硬件断点。这里介绍利用他来跟踪注册标志的使用方法,一般软件的注册都用到了标志比较。即在 内存地址中有一个标志,在判断是不是注册时比较标志的值。不同的值表示不同的注册状态。这个标志的地址一般比较固定。根据这个特点可以下硬件断点来跟踪标 志位是什么地方被标志的。
方法:在转存窗口中选择到标志存放的内存地址处,然后选择标志值。下〔硬件写入〕中断(根据标志的字节下不同的长度)。重新运行程序你会发现Ollydbg会不断的中断在这个标志的内存地址处。在功能菜单的〔调试〕选项下选择〔硬件断点〕就打开了硬件断点的窗口,在 这个窗口中选择〔跟踪〕,这时转存窗口就会来到被下中断的内存地址处。运行程序跟踪内存地址中的值就会知道被赋标志的代码,跟踪到计算的核心。〔硬件访问〕的使用可以知道程序在运行时多少地方用到了这个注册标志。对于破解复杂效验的程序十分的有效。

以上只是我的总结,本想每个方法用一段例子,无奈时间有限,请大家原谅了。
当然,还有许多的下中断的方法,本人水平有限,不能一一尽述。只当抛砖引玉,请大侠们赐教。

Ollydbg 中断方法浅探相关推荐

  1. Ollydbg中断方法浅探

    Ollydbg中断方法浅探 Ollydbg是一个新的32位的汇编层调试软件.适应于windows98.me.2000.xp和2003操作系统.由于他具有图形窗口界面,所以操作方便.直观,是cracke ...

  2. 图片清晰度增强(锐化)方法浅探 - 拉普拉斯算法和高斯算法(c++ opencv)

    最近几天研究对图片进行清晰度增强的方法,有一些比较肤浅的结论,记录一下备忘. 首先是如果想自己写一个对清晰度进行增强的方法,其实不太容易,我尝试过,遇到各种问题,比如边缘的圆滑度会被破坏,像素值改变的 ...

  3. 软件破解系列之OD中断方法

    OD中断方法浅探 Ollydbg是一个新的32位的汇编层调试软件.适应于windows98.me.2000.xp和2003操作系统.由于他具有图形窗口界面,所以操作方便.直观,是cracker的好工具 ...

  4. Delphi的对象机制浅探[转载]

    Delphi的对象机制浅探 savetime2k@yahoo.com 2004-1-3 前几天开始阅读 VCL 源代码,可是几个基类的继承代码把我看得头大.在大富翁请教了几位仁兄后,我还是对Delph ...

  5. SVN冲突出现原因及解决方法浅谈

    SVN冲突出现原因及解决方法浅谈 参考文章: (1)SVN冲突出现原因及解决方法浅谈 (2)https://www.cnblogs.com/andy1202go/p/8085062.html 备忘一下 ...

  6. php dom xml解析,Php Xml解析之DOMDocument使用方法浅解

    Php Xml解析之DOMDocument使用方法浅解 用到的XML文件还以"Php Xml处理之simplexml使用方法浅谈"一文中的XML为例,文件名为:me.xml.代码如 ...

  7. 中断处理过程示意图_PCIe中断方法和系统与流程

    本发明实施例涉及通信技术领域,尤其涉及一种PCIe中断方法和系统. 背景技术: PCIe(Peripheral Component Interconnect Express,高速外围组件互联)是最新的 ...

  8. java 关闭中断_Raspberry pi使用中断方法关闭(关闭时出现垃圾代码)

    我正在使用一个瞬间按钮来使用中断方法关闭覆盆子pi,同样的代码是: #Import the modules to send commands to the system and access GPIO ...

  9. resizableImageWithCapInsets:方法的探析 (转载笔记)

    2019独角兽企业重金招聘Python工程师标准>>> resizableImageWithCapInsets:方法的探析 作者 SketchK七爷 1. 故事背景 苹果公司为iOS ...

最新文章

  1. linux 删除20日前数据,Linux 维护常用命令
  2. pythonmsgbox怎么使用_如何使用tkinter的messagebox
  3. ●BZOJ 4556 [Tjoi2016Heoi2016]字符串
  4. JAVA ++ 运算符题目
  5. php置顶文章,php实现文章置顶功能的方法
  6. Spring Boot参数校验
  7. mongodb 监控权限_分布式监控系统Zabbix3.4-针对MongoDB性能监控操作笔记
  8. C语言学习笔记---typedef 简介
  9. python3.4 + Django1.7.7 表单的一些问题
  10. Android保存音频文件
  11. 重装系统大师计算机硬件不兼容,360重装系统教你如何处理提示不兼容的软件
  12. 计算机修改了服务如何恢复,怎么修复MSDTC服务?
  13. Sftp中文件名乱码
  14. 从游戏设计的角度看《红色警戒2》
  15. c++11:nlohmann::json进阶使用(二)应用adl_serializer解决第三方数据类型(such as uri)的序列化和反序列化
  16. 零基础计算机入门,分享人人可以参考的路线,私藏的干货视频和书单,为你的程序员生涯助力,呐喊!
  17. 备份恢复Lesson 11. Performing Recovery I
  18. Web,Servlet,网络复习,超全,快来看
  19. 普通母函数模板—hdu1028
  20. 区块链项目 - 2 工作量证明

热门文章

  1. 文件夹目录结构导出工具及下载
  2. C异常处理实现: setjmp和longjmp
  3. python rbf神经网络_原创,基于径向基函数(RBF)神经网络RBF网络的举例应用!
  4. 大数据实训报告_教学大数据实训平台解决方案_德拓信息_上海市徐汇区
  5. C语言-动态创建二维数组
  6. 【Java 虚拟机原理】堆区 | Java VisualVM 工具
  7. Python练习_三级菜单
  8. python中为什么需要使用“if __name__ == '__main__'”语句
  9. 结合自己造的轮子实践按需加载
  10. mysql decode encode 乱码问题