记录两个软件的破解过程

最近发现两个软件,是Excel的插件,感觉可能还有点作用,但是从最近的新版开始要收费了,所以想着能不能破解一下,经过半天的研究破解成功,下面记录一下过程:

第一个(其实是两个,但是注册过程一模一样)

1、安装软件

安装软件,得到如下一大堆文件:

Markdown

2、寻找突破口

首先觉得adxregistrator.exe可能是注册程序,但是在excel里面打开程序的注册界面是显示有中文的,然而adxregistrator这个文件用ollydbg调试,并发现没有任何中文字符,所以认为这个不是目标程序。

所以继续寻找,觉得datamap.dll应该是主程序。

好了,首先用查壳软件查查,没壳,用vb编写,net4.0版本。

好吧net reflector上场,注意打开后要选择正确的语言。

Markdown

3、找到关键函数

Markdown

可以看到有三个条件比选,开始想着改代码,加载reflexil插件,结果觉得太难不想搞。

然后就想研究注册算法,注意到有一句关键代码:

Markdown

很明显是用户输入的注册码和机器产生的进行对比,好嘛,找到Module_DataMap.RegisterSN模块研究函数不就行了。

4、注册破解

找到了:

Markdown

就是把机器码的前7位去掉后得到的字符传给这个函数,然后每一位转成ascii码,乘以16位D39(&H是十六进制代码相当于0x),然后12位字符累加,完了再加一个16位8324530就是注册码了,经验证注册码是10进制。

具体算法在excel里面就可以实现,这里不再展示。

第二个

1、新问题

最近软件作者又发布一个插件,但是这一次变聪明了,要购买SN然后在线注册使用。可以申请一个7天试用版,不然功能不可用。

2、寻找突破口

对比了一下安装出来的文件,除了主程序Datamap.dll换成了Datamapa.dll外,其他没有变化。那么突破口肯定还是在这里面了。

通过查看mapdataa.dll可以看出,这个程序要联网验证一些东西,我也懒得去研究那些代码,准备爆破。

3、找到关键函数

(1)首先发现一个登陆模块,研究下去(后面看了下,其实这个程序里面可以破解的地方非常多,但是这个登陆模块就够了)

Markdown

(2)研究登录模块的代码:发现最后有一个将注册状态设置为true的语句,感觉这里是关键点(其实这个找了半天才发现这里,具体查找过程还是比较麻烦)

Markdown

(3)那么再往上看,发现只要num2这个变量不等于0就行了(num2变量是根据前面的一大串算出来的,那么爆破的话,只需要这里直接把num2的值设置成不为0的数,比如1),按这个思路走下去:

打开reflexil,找到

这一句对应的位置:

Markdown

(4)根据我的猜测,268行应该就是num2的初始值,269行就是把obj8的值赋过来。好了把268行改成ldc.i4.1,就是把值初始化成1。然后把下一行删掉,不让obj8的值赋过来。完了保存

Markdown

4、注册破解

替换文件,点击注册,手机号密码序列号随便填(手机号填11位,其他随便,因为前面检测填入项的没改,为防止出现问题,所以还是要按其格式进行填写)

Markdown

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax