方式一基本的打补丁方式:

  打开程序之后首先会跳出一个nag窗口,从中我们知道了可以将nag窗口作为切入点,只要找到了nag的触发点就等同于找到注册与未注册的判断的点
右键-查找-所有参考文本字串
拖到最上面右键查找文本,两项都选,然后输入关键字
然后点击确定,找到命令
双击找到代码位置
发现nag窗口程序上面是一个跳转,给跳转下一个断点
找到文件头(一般以55开头)下断点
重新载入程序,执行。修改跳转的值使跳转实现
点击执行然后nag窗口就不见了
虽然窗口上的未完成注册的注释已经没了。但是打开help里的about,发现还是为注册所以还是没有完全成功
然后以Unregistered Version(注意大小写,而且要完全一样)为关键字在参考文本字串里查找,找到之后发现不少可以Ctrl+L继续找直到找到为止
找到之后双击找到代码,发现它在一个跳转里面,意思就是只要跳转成功就可以跳过这个指令
然后给跳转下个断点,往上找到文件头下断点,重新载入,修改跳转的值使跳转成功
执行程序,打开about,然后程序停在了过程的入口处
然后f8往下走,路过一个关键的跳转使跳转实现,然后f8继续走观察了一下,发现程序没有问题了然后执行
然后就成功了
接下来就开始打补丁:
重新载入,将跳转改成无条件跳转jmp。然后执行程序
打开about,跳到程序的入口处
去掉断点,然后f8继续走到下一个跳转再改成无条件跳转
然后不补丁就打好了,然后保存程序就成功了
方法二:
打开前面下过断点却没有修改的程序
仔细观察就会发现跳转前会有判断的值,而这个值又是环环相扣的走到这条代码,发现注释内容是指向了另一个代码,很有可能这另一个代码的值才是真的值
再往下走看注释,发现值为0
注意看发现这一小段的两个跳转都是跳到了同一个出口,试想一下为什么药两个判断才能跳过这段程序
点到下一个跳转,然后继续往下走就会发现 fld这条命令存的值为15,也就是说这个条转里面其实是岁15这个值进行校检
发现其实上面的一个跳转其实是检测是否注册,回到那条指令,右键注释行,打开数据窗口中跟随数值发现60EB8C=0而且这个代码经常出现所以应该是关键点
然后我们就跟踪这个值,右键-查找参考-地址常量
为了找到初始化这个值得地方我们将所有存在这个值的命令都下断点,右键-在每个命令上设置断点
然后重新载入找到初始的命令。然后在注释看到这个数值的值还是610C4A
往下走一步发现610C4A的值给了edx并且等于0,al又填充了610C4A都等于0
最后发现判断其实就是用al和0做比较
那么我们将al改成1就可以使跳转成功了
然后保存,右键-复制到可执行文件-所有修改-全部复制
然后会跳出一个窗口说程序重定位,但目前不会影响这个程序所以忽略
最后备份保存数据到文件就可以了。然后程序就自动破解了

OD使用教程8的更多相关文章

  1. OD使用教程

    OD使用教程: 跳转指令.满足才能跳转成功  

  2. 简单详细的OD破解教程

    2007-08-04 15:46作者:CCDebuger注:昨天在网上见到了这篇文章,但缺少插图,从另外一篇文章中也看到了类似的的教程文章,里面的插图质量实在不敢恭维.在一个论坛中正好下载了文章中所介 ...

  3. OD使用教程11

    首先把安装好的软件拖入PEID,看看它是用什么语言写的    然后用OD载入程序,查找关键字,步骤看上一个笔记 双击到达代码处,发现这在一个跳转里面.可能第一反应是修改跳转,经试验后发现这是没用的所以 ...

  4. OD使用教程7

    破解程序获得使用权限:       破解思路:其实程序加密或者添加neg窗口都是为了让消费者付出更多的代价来解决这些问题.然而身为一个技术人员是可以靠技术来使这些东西消失的.只要我们找到那些东西出现的 ...

  5. OD使用教程12

    载入程序输入关键字: 双击进入程序 仔细看发现并没有跳转直接跳到这个mov,往上看发现retn上面有一个push,在这种编写手法当中这种组合相当于一个jmp, 跳到离它最近的一个值(在这就是004A5 ...

  6. OD使用教程10

       首先载入程序,然后Ctrl+N打开输入输出表 然后直接输入要找到函数,找到之后下断点,右键-在每个参考上设置断点 然后运行程序来到第一个断点处 然后f8走,开始找注册码没找到就换一个函数,然后看 ...

  7. OD使用教程9

    先运行程序打开about,发现这是一个未注册的软件需要注册后才能使用里面的工具,所以随便注册一下,跳出一个提示说注册的是非法的邮箱,所以就可以以此做为突破口来破解这个程序 将提示的语句作为关键字去找出 ...

  8. OD使用教程4

    去除nag窗口: 方法一将je改成jmp跳过messageboxA 方法二全部填充成Nop,选中右键二进制Nop填充 第三种方法push的值改成1使句柄不存在 获得模块句柄: 第四种修改入口地址 点击 ...

  9. OD使用教程5

    怎样恢复数据被改过的代码 点击m进入内存分布图 双击进入文件头 将过大的值一一修改为正常值 普通程序没有动态链接表所以值改为0 保存:首先记住地址 其次 选中差不多的长度,保存 正常的程序

随机推荐

  1. uicollectionview registerclass vs registernib

    当cell是用代码实现的时候用registerclass,当cell是用xib文件实现的时候用registernib

  2. 配置 Haproxy 防范 DDOS 攻击

    作为 load balancer, Happroxy 常常作为服务器的前端,向外界用户提供服务的入口,如果能在入口处处理安全相关问题,将极大简化后端的设计.事实上,Haproxy 不仅仅是一款开源出色 ...

  3. 【转】HTML转义字符大全

    ISO Latin-1字符集:  — 制表符Horizontal tab  — 换行Line feed  — 回车Carriage Return  — Space ! ! — 惊叹号Exclamati ...

  4. 用贝赛尔曲线把图片, 按钮, label 绘成圆 或圆角矩形

    //创建圆形遮罩,把用户头像变成圆形 /* *CGPointMake(35, 35)  是绘图的中心点,  如果想把控件居中绘圆, 一般用控件的中心点,   radius 是圆半径   startAn ...

  5. logistic公式形式的由来,从广义线性回归说起

    普通线性回归的形式为:(之所以这么写是因为的线性才是线性的所指) 线性回归模型有一下以下几个特征: 1. 2.x,y 通常取值连续 3.y的分布为正态分布或接近正态. 广义线性模型进行了如下推广: 1 ...

  6. 调用SAP函数创建寄售退货订单的时候报错:业务对象 BUS2032 是销售订单,销售凭证类别 H 是退货。

    RE.KR订单类型用BAPI_CUSTOMERRETURN_CREATE 其他用BAPI_SALESORDER_CREATEFROMDAT2

  7. windows 安装mysql 步骤

    Windows 安装mysql 5.7.12教程 1.在官网下载mysql5.7.12.zip并解压 复制默认配置文件my-default.ini,并命名为my.ini 使用记事本打开,修改如下配置 ...

  8. Altium Designer XX 重新定义板框形状和大小的方法

    Altium Designer15 重新定义板框形状和大小的方法:重新定义板框形状和大小的方法.很简单,点击数字键"1",就会看到板框界面变绿了这时候你在去点击菜单栏里的Desig ...

  9. WPF 将控件绑定到变量

    看了好多博客,发现很多都不能用,嘿嘿,自己终于实现了: 废话不多说,上代码: XAML代码如下: <Window x:Class="WpfApplication7.MainWindow ...

  10. eclipse中outline中图标的含义

    outline: 实心的代表方法 空心的代表属性 绿色的圆表示公有public 黄色的菱形表示保护protect 红色的方形表示私有private 蓝色的三角表示default 图形后加字母S代表该属 ...