演示软件序列号的破解方式

演示软件序列号的破解方式

目录

前言

一、测试平台

二、测试步骤

1.查找MessageBox

2.比较函数选择

3.序列号寻找(前三部分)

4.第四组序列号破解

总结

三、序列号破解码:--

前言

序列号破解也可以被称为注册机破解、一机一码破解,本次破解序列号的程序为一个简单演示程序,当输入错误的序列号时会弹出相关的错误信息,可知序列号为16位。

序列号破解

一、测试平台

实验平台:VMwareWorkstationPro,WIN7系统,内存4GB,硬盘60GB

使用工具:demo.exe,OllyDbg

二、测试步骤

1.查找MessageBox

当我们输入序列号错误时,系统会弹出输入错误的窗口,而且我们知道,弹出窗口函数一般为MessageBox,从而我们可以以此作为突破点。使用查找名称功能,进行该函数查找,双击进入该函数以后,设置断点,运行程序,使用F7F8单步调试功能,查看其返回主函数的位置。

注册机破解

2.比较函数选择

序列号判断我们知道肯定会使用cmp比较指令,所以我们选择最上面一个cmp指令设置断点,而后运行程序,若是程序会在断点处中止,即可知道该处为序列号判断的地方。

试用版破解

3.序列号寻找(前三部分)

进行比较总会有两个数值,一个是我们自己输入的值,另一个是正确的序列号,因此我们可以发现它判断的是[ESP+0x20]与CX,而通过地址查找我们发现EXP+0x20处存放的数据是我们的输入值,因此可以确定前四位序列号为cx所存放的值,为,而后进行验证发现正确,通过相同方法我们可以找到第二组四位序列号存放在dx中,第三组四位序列号存放在ax中,从而可以得到它们的值分别为:与。

一机一码破解

4.第四组序列号破解

当我们找完三组序列号后发现,第四组序列号并不是按照四个为一组进行比较的,所以我们并不能使用之前破解前三组时使用的方法,通过查看代码我们发现,后面有四个cmp比较指令,而我们判断它是将后面四位分开进行比较,而又因为我们刚开始并不明白0x这个数字的含义,所以在这我使用了穷举法,进行暴力破解,发现正确的第四组第一个序列号为a,而后进行破解,我们发现我们都可以找到比较的双方,最后将四位组合而成第四组序列号,为aFF0,f与0会使用其ASCII码进行比较。并且在此过程中,我们可以使用地址查询,找到该地址存放的数据,与我们的输入数据比较后,更可以验证我们的验证正确性。

序列号破解

至此,该序列号破解成功。



转载请注明地址:http://www.1xbbk.net/jwbrc/8644.html


  • 上一篇文章:
  • 下一篇文章:
  • 网站简介 广告合作 发布优势 服务条款 隐私保护 网站地图 版权声明
    冀ICP备19027023号-7