今天的程序比较大,听说还是比较牛的程序,不过破解它的一个比较老的版本的。打开程序看看。

点击about   然后点enter registration code    输入name  以及密钥之后,会出现以下情况。

那我们先查看一下有没有加壳,发现是用vc6编写的,对我们来说比较熟悉~
那就先用OD加载进来

在编辑框里获取字符串,一般使用getwindowtext这个API函数进行获取,我们有两种方法,



3个断点
getwindowtextA就是以ascii码的形式获取,我们可以在每个命令上设置断点
还有一种方法     ctrl+n   
还是一样三个断点,那我们可以运行起来,看看正在哪里断下,断下又有没有用

发现断下了,但并没有让我们输入什么,所以不要这个断点,去掉
一个一个试过去,终于能输入了

然后我们一直F8,看看有没有什么跳转的地方发现两个跳转


这两个跳转是检测是否有 没有填的框的  并没有什么卵用,我们放过它们。继续找,发现一个通向成功的跳转!


那我们会发现一个有趣的现象

两段代码竟然完全一样,我们重新载入程序,跟进去都看看

发现它把1mov给了al  可能就是成功的标志

那然后就可以继续F8了,既然找到了标志。

发现一个跳转直接跳出了成功的标志,我们当然不要它跳,改标志位看看先

修改了之后,成功了。。。。虽然成功了,但是发现了问题

竟然还是not been registered!!!看来还是不行啊
好了,我又来了。我们可以右键查找字符串,找到这个“this xoftspy license has not been registered”,双击进入

是上面 je  跳转  跳过来的

在验证的call前面加个断点,以防万一,在这段代码的开头也加个断点,然后重新载入
发现程序点一下about就触发了这个断点,我们可以F8单步走走看看。之前有加断点的call肯定有问题,我们可以F7进去看看


来到一个关键点,test al,al 下面有一个跳转,

跳转如果实现的话,bl的值就会变成1,那下面的al也会变成1,那么当程序返回的时候应该就是成功了;但是如果跳转未实现的话,就会经过jmp直接绕过了bl为1,把bl清零了。

意思就是al为1就可以     我们可以把这个代码  直接改为  mov al,1就OK了

改过之后就成功了,has been registered !








OD调试篇13的更多相关文章

  1. OD调试篇3-小软件破解1

    OD调试篇3-小软件破解1 要求如下图该软件需要改5个地方,其中1.2是软件未注册而设定限定的添加个数,3.4.5是软件显示的一些未注册的信息. 一. 1.按1运行程序,添加用户添加第五个时出现提示, ...

  2. OD调试篇1—Hello

    OD调试篇1—Hello 要求:通过OD将程序的标题“I love fishc.com”改为“I love you” 一.找到程序的标题“I love fishc.com” 1.把程序拖到OD运行出现 ...

  3. OD调试篇7--笔记及解题报告

    MFC:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows AP ...

  4. OD调试篇6--对一些真正的小程序进行一点点的修改

    先打开这个程序看看,提醒你这是一个未注册版本的软件.会发现只能添加4个联系人,这显然是我不想看见的,于是我要对这个程序进行一些修改,嘿嘿... 通过OD载入这个程序 有一些(SEH)也就是异常,我们可 ...

  5. OD调试篇12

    Delphi的逆向 先看看今天需要破解的程序. 打开程序先出现了一个nag窗口,然后是unregistered未注册的提示,以及关于里的需要注册. 拖进die看了看      就是delphi写的.那 ...

  6. OD调试篇11

    先看看今天这道菜是用什么语言写的 发现是用VC7.0写的,再随便打开看看 发现未注册以及使用限制,那就用OD载入吧 右击查找所有字符串,找unregistered    找到后双击进入 我们会看见一个 ...

  7. OD调试篇8

    那么今天需要破解的呢,是这样一款软件. 程序刚刚进去会发现一个nag弹窗   说没有注册,要花20美金才能注册.只有5天的限制期限可以用了 进去之后 点击help里的关于这款软件   也显示了这是一个 ...

  8. OD调试篇10

    今天破解一个用VB写的软件 先记住一个软件PEiD.exe 这是一个可以看出由什么语言编写程序的软件   非常好用 我把今天要破解的软件拖进去了,发现这就是一个用VB写的程序 这些呢是VB破解的关键 ...

  9. OD调试篇9

    渐渐地要用比较高明一点的方法去破解软件了 那好,看看今天的程序先 先载入 测试下程序 发现这是一个未注册版本的程序,注册也不让注册,注册就跳出You have rntered an invalid   ...

随机推荐

  1. Shell基本功能&配置&Oh-My-Zsh

    http://blog.csdn.net/yangcs2009/article/details/45720193

  2. 【小白入门向】tarjan算法+codevs1332上白泽慧音 题解报告

    一.[前言]关于tarjan tarjan算法是由Robert Tarjan提出的求解有向图强连通分量的算法. 那么问题来了找蓝翔!(划掉)什么是强连通分量? 我们定义:如果两个顶点互相连通(即存在A ...

  3. Python3基础 isinstance 判断一个变量是否为指定的类型

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  4. Linux -- 文件统计常用命令

    标签(空格分隔): Linux sort -- 文件内排序命令 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次比较其ASCII码. 按每行升序排序: sort seq.tx ...

  5. 【OOAD】设计模式概述

    模式的诞生与定义 模式起源于建筑业而非软件业模式(Pattern)之父——美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士<A Pattern Langua ...

  6. Ubuntu anzhuang

    zhongwenshurubuzhidaozenmeqiehuan anhzuang Flash  apt-get install flashplugin-installer

  7. golang csv问题

    go语言自带的有csv文件读取模块,看起来好像不错,今天玩玩,也算是系统学习go语言的一部分--^_^ 一.写csv文件 函数: func NewWriter(w io.Writer) *Writer ...

  8. springmvc的单文件上传

    @RequestMapping("/up") public ModelAndView up(MultipartFile myfiles , HttpServletRequest r ...

  9. SPSS数据分析—重复测量差分析

    多因素方差分析中,每个被试者仅接受一种实验处理,通过随机分配的方式抵消个体间差异所带来的误差,但是这种误差并没有被排除.而重复测量设计则是让每个被试接受所有的实验处理,这样我们就可以分离出个体差异所带 ...

  10. java开发前奏

    做java开发当然少不了jdk(java开发工具),那么今天就介绍一下jdk的安装和配置. JDK官网下载地址(建议去官网下载,免费的) http://www.oracle.com/technetwo ...