OD中断方法浅探

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

  这里推荐下小甲鱼老师的解密系列之OD使用教程,共23节课,学软件破解的精品资源!

  

  第一 寻常断点

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

第二 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会不断的中断在这个标志的内存地址处。在功能菜单的〔调试〕选项下选择〔硬件断点〕就打开了硬件断点的窗口,在这个窗口中选择〔跟踪〕,这时转存窗口就会来到被下中断的内存地址处。运行程序跟踪内存地址中的值就会知道被赋标志的代码,跟踪到计算的核心。〔硬件访问〕的使用可以知道程序在运行时多少地方用到了这个注册标志。对于破解复杂效验的程序十分的有效。 
  直接在命令栏里下bh ****硬件断点

软件破解系列之OD中断方法相关推荐

  1. OD调试9—实例:深入分析代码完成软件破解

    OD调试9-实例:深入分析代码完成软件破解  爆破,是最初级的解决方案,不到万不得已,我们不直接修改JNZ通关.因为这样子的话,我们就享受不到破解.逆向的真正乐趣了. 了解程序背后按照剧情发展经常会出 ...

  2. 较量 软件破解方法大揭密(图)

    作为一名程序员,由于我所编写的几款小软件经常被人破解,所以就对常见的软件破解方式比较关注.在这篇文章中,我把各种软件破解方式一网打尽,如算法注册机.内存破解法.补丁破解法和文件注册法等,以便大家&qu ...

  3. Ollydbg 中断方法浅探

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

  4. Ollydbg中断方法浅探

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

  5. 十招教你学会软件破解(转)

    下面谈到了一些在学习解密过程中经常遇到的问题,本人根据自己的经验简单给大家谈一谈.这些问题对于初学者来说常常是很需要搞明白的,根据我自己的学习经历,如果你直接照着很多破解教程去学习的话,多半都会把自己 ...

  6. 解密宝典——十招教你学会软件破解

    下面谈到了一些在学习解密过程中经常遇到的问题,本人根据自己的经验简单给大家谈一谈.这些问题对于初学者来说常常是很需要搞明白的,根据我自己的学习经历,如果你直接照着很多破解教程去学习的话,多半都会把自己 ...

  7. 软件破解中常用API

    原生程序开发者,破解也是会用的,这里转载一些资料: 在软件破解中,常用软件破解方法就是下断点快速找事件,在命令行BP下断点,shift+f9找事件然后再alt+f9返回. 快捷方法,ctrl+A分析代 ...

  8. 新手必须懂得什么叫OEP,以及查找的常用方式软件破解什么是oep?

    转自: S.l.e!ep.¢% - C++博客 ============================= 新手必须懂得什么叫OEP,以及查找的常用方式软件破解什么是oep? original ent ...

  9. 破解必备,软件破解中常用API函数大全

    在软件破解中,常用软件破解方法就是下断点快速找事件,在命令行BP下断点,shift+f9找事件然后再alt+f9返回. 快捷方法,ctrl+A分析代码.ctrl+N 找要下断的API函数.右键> ...

最新文章

  1. 李开复对谈张亚勤:科学家创业需要企业家伙伴,开放心态看待元宇宙 | MEET2022...
  2. web目录字典_Metasploit -- 目录详解及常用命令
  3. 众多SEO专家集体盛赞
  4. 怎样洗头使头发变黑变多
  5. js this指向问题,同级this指向同级,非同级this指向全局
  6. 4月第1周回顾:微软向雅虎发最后通牒 头号***伏法
  7. 详解Python中re.sub
  8. 捷径 iOS12.1 基础功能 参数输出
  9. iPhone手机越狱不只是为了安装盗版应用、越狱的十大好处
  10. 家用计算机键盘图,电脑键盘示意图,教您如何正确的使用键盘
  11. Android 指纹验证
  12. UG NX 12 坐标系
  13. 创维30周年庆典举行,中国制造业标杆向千亿目标加速冲刺
  14. 瞬时转速 matlab,基于瞬时转速的发动机故障诊断研究
  15. 【XSY3949】取石子游戏(博弈,线段树)
  16. js遍历对象(js遍历对象的所有属性)
  17. AES实现后端参数加解密
  18. Android facebook VK 登录与分享 开源SDK
  19. 机器学习:K近邻(KNN)
  20. 修道士和野人问题:所有解、启发求解、简单界面

热门文章

  1. python bytearray拼接_python数据类型 ——bytes 和 bytearray
  2. calipso是什么意思_眰恦是什么意思?
  3. springcloud是什么_阿里P8道出,入职阿里必会199道SpringCloud面试题,你能掌握多少?...
  4. This和Super关键字的对比
  5. VMware虚拟机安装之后,打开时找不到启动Centos的界面
  6. Linux内核 题目,《Linux内核完全注释》部分习题答案
  7. UITextView添加占位字符
  8. 小程序点击图片自动播放视频,停止上一个视频播放
  9. iOS KVO 的实现原理
  10. 【iOS官方文档翻译】UICollectionView与UICollectionViewFlowLayout