zoukankan      html  css  js  c++  java
  • URL helper 逆向破解思路+详细过程 利用messagebox破解

    先了解一下软件的运行:

    打开后是这样的,要注册

    随便输入假注册码,看他怎么响应:

    会弹出一个信息窗(massageBox)提示注册失败。到这里就行了,关掉,然后用OD打开,按F9跑起来:

    这里输入假码,如果点register,那么就会弹出信息窗。所以在这里要下个信息窗的api断点:

    和messagebox有关的全选上,没关系。

    然后再点程序的register,就被成功断下来了。

    这时运行在系统领空,因为这是程序在调用windows里的messagebox功能。所以一直往下F8单步,一步步的return出来,直到来到程序领空:

     

    这就来到程序领空啦。

    注意:(从系统领空往下F8单步时,走到半路信息窗会完全弹出来,把它点个确定后继续单步,这不是程序脱离控制)

    这个信息窗只是说一下注册失败,是已经判断完了。所以真正的判断代码是在这函数上面。往上翻就能看到上面的关键代码了。

    这时候messagebox断点就没用了,点一下【B】把他们都删了吧。

    上面有个请输入用户名、注册码的提示,应该是当没输入,点注册时会出来。在上面的call下断,为了让程序停在这里,再一步步分析下面的代码。不然截到下面也没用。。。

    再点注册,程序果然停在了这call,按F8一步步向下分析:

    看到这里就很眼熟了,je跳过“注册成功”,这call应该就是判断注册码的函数。按F7进去

     

    这call里咱们的假注册码频繁出现(注意右下角的堆栈窗),应该找对了:

    一直往下运行,来到末尾的return位置:

    接下来要把eax置1,暴力一点直接把retn 8这行改成mov eax,1

    下面一行改成retn 8

    (想修改,双击代码即可)

    下面的代码破坏掉了,没关系,反正咱们注册成功了不关心其他的事情。

    点F9继续运行,破解成功:

    最后一步,保存破解程序,

     

    把破解的程序放到安装目录,以后点这个就可以了,重新发送一个桌面快捷方式。原程序删了也可以,留着的话记得不要点它,删除原本的进入方式(比如桌面图标)

     

    总结:本程序关键就在于那个massagebox,看到这个特征直接下对应的断点即可,快速接近关键代码。

     

    后记:

    写这个很纠结,说的详细了就很繁琐,说的简单了小白也看不懂,所以尽量把OD的过程说的详细,其他的电脑基本操作就没讲。如果你任何不懂,就去百度一下,那些我省略掉的东西是每个电脑使用者必须掌握的。

     

  • 相关阅读:
    CUDA并行算法系列之FFT快速卷积
    CUDA并行算法系列之规约
    混合语言编程:启用CLR(公共语言运行时编译)让C#调用C++
    【CUDA并行程序设计系列(4)】CUDA内存
    【CUDA并行程序设计系列(3)】CUDA线程模型
    【CUDA并行程序设计系列(2)】CUDA简介及CUDA初步编程
    【CUDA并行程序设计系列(1)】GPU技术简介
    关于CUDA的一些学习资料
    MacOS 快捷键技巧
    chrom 自带截屏用法
  • 原文地址:https://www.cnblogs.com/cnnnnnn/p/8797030.html
Copyright © 2011-2022 走看看