先了解一下软件的运行:

打开后是这样的,要注册

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

会弹出一个信息窗(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的过程说的详细,其他的电脑基本操作就没讲。如果你任何不懂,就去百度一下,那些我省略掉的东西是每个电脑使用者必须掌握的。

URL helper 逆向破解思路+详细过程 利用messagebox破解的更多相关文章

  1. SecureCRT的安装与破解,详细过程

    使用SecureCRT可以方便用户在windows环境下对linux主机进行管理,这里为大家讲一下SecureCRT的破解方法,仅供大家参考学习: 1.首先在本站下载SecureCRT 7.3.6最新 ...

  2. 在浏览器中简单输入一个网址,解密其后发生的一切(http请求的详细过程)

    在浏览器中简单输入一个网址,解密其后发生的一切(http请求的详细过程) 原文链接:http://www.360doc.com/content/14/1117/10/16948208_42571794 ...

  3. 部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0)

    部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0) 部署Bookinfo示例程序   在下载的Istio安装包的samples目录中包含了示例应用程序. ...

  4. 利用PMKID破解PSK的实际测试与影响评估

    在2018年8月4日,一位研究员在hashcat论坛中发布了一篇帖子,表示他研究WPA3协议密码破解方法的过程中,发现了一个针对WPA/WPA2协议密码破解的新方法,使用PMKID(the Pairw ...

  5. Asp.net页面生命周期详解任我行(3)-服务器处理请求详细过程

    前言 百度了一下才知道,传智的邹老师桃李满天下呀,我也是邹老师的粉丝,最开始学习页面生命周期的时候也是看了邹老师的视频. 本人是参考了以下前辈的作品,本文中也参合了本人心得,绝非有意盗版,旨在传播,最 ...

  6. 一个http请求的详细过程

    一个http请求的详细过程 我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切. 首先http是一个应用层的协议, ...

  7. 第一部分:使用iReport制作报表的详细过程(Windows环境下)

    提示:在有些板块,文中的图片看不到,建议到我的blog浏览文章:http://blog.csdn.net/jemlee2002/文章将会涉及3个方面的内容: 第一部分:使用iReport制作报表的详细 ...

  8. WPA-PSK无线网络破解原理及过程(转)

    本文将主要讲讲WPA-PSK类型的无线网络安全问题,首先我们看下802.11协议相关的基础知识. 802.11常见的几种认证方式: 1.不启用安全‍‍ ‍‍2.WEP‍‍ ‍‍3.WPA/WPA2-P ...

  9. STM32F0xx_FLASH编程(片内)配置详细过程

    Ⅰ.概述 关于数据的储存,我觉得编程的人基本上都会使用到,只是看你储存在哪里.STM32的芯片内部FLASH都是可以进行编程的,也就是说可以拿来储存数据.但是,很多做一些小应用程序开发的人都没有利用好 ...

随机推荐

  1. Step1:SQL Server 复制介绍

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 前言(Introduction) 复制逻辑结构图(Construction) 系列文章索引(Catalog) 总结&am ...

  2. JS3D效果

    <!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...

  3. java基础之包装类型

    包装类型引入该类型的原因:      因为基本数据类型不具备对象的特性,不能调用方法,所以有时需要将其转换为包装类. 包装类型有两大类方法:      1.将本类型和其它基本类型进行转换方法.    ...

  4. JavaScript笔记 #05# 用Regex辅助生成文章目录

    PS. 用来生成个人笔记的目录 1.输入:html文本 <h2>Notes</h2> <p>1.小标题1.正文正文正文</p> <div clas ...

  5. linux+apache+nginx实现,反向代理动静分离

    在我们开发的过程中,一定会遇到,负载均衡方面的问题.下面我们,做一个小例子:使用nginx+apache实现反向代理,动静分离. 这里apache.php.nginx的安装就不做赘述了,不懂的朋友可以 ...

  6. DOS下读取spd信息的汇编程序(通过SMBus)

    汇编程序编写的读取spd信息的代码: ;----------------------------------------------------------- ;功能: 通过SMbus 读取内存的SP ...

  7. MySQL修改库名的方法

    先创建新的库,再用RENAME TABLE 语句移动旧库中的表到新库,最后删除旧库. (root@localhost) [(none)] create database mydb_2; Query O ...

  8. Tensorflow学习笔记03-使用神经网络做线性回归

    import tensorflow as tf import numpy as np #input就是输入数据,输入矩阵,in_size就是输入矩阵的列数(数据属性数量),out_size输出矩阵列数 ...

  9. python,pycharm安装

    下载python地址:https://www.python.org/downloads/release/python-371/ 安装python ***python安装目录下的scripts加入环境变 ...

  10. Eclipse中已安装的插件如何卸载

    最近在Eclipse中安装了一个插件,导致Eclipse使用的时候有些问题,就找了资料,原来Eclipse中的插件也是可以卸载的. 方法是点击菜单“Help”,“Install New Softwar ...