[原创] FastStone Capture 软件注册算法破解及注册机编写
发表于:
2020-6-29 23:31
10787
[原创] FastStone Capture 软件注册算法破解及注册机编写
前几日准备找一个可以将录屏转成gif图的软件,无意间发现了FastStone Capture。安装之后还需要注册码,碰巧还要申请一个大学的暑假实习,就花了四五天来分析一下注册算法,并写一下注册机。温馨提示:想要注册码的可以直接到文章结尾去下代码,跑一跑就出来了。
用户名: 可以输入任意长度的内容。 注册码: 输入20个字节的字母,其中不能有数字。每五个字符之间用横线分割,如: ZYXWV-UTSRQ-PONML-KJIHG。 注册算法主要分为两部分的验证,将注册码分为三部分: rcode_one(前8字节),rcode_two(中间8字节),rcode_three(后4字节).
关键函数0x6D4FEC --> 0x6D472C
交叉过程
加密函数
加密函数涉及IDEA和BlowFish,Hash函数涉及Sha1和Sha512函数. 加密的内容: username和rcode_one交叉的部分.
注意事项: 加密的方法有些不同,下面用代码讲解
函数0x6C4D78
(Sha1, blowfish)和(sha512, IDEA)都在此函数中完成,但传入的参数不同,应该是使用面向对象中的某些性质. 此函数主要完成hash函数和子密钥的生成.
校验部分
提取密文中的大写字符,与rcode_two进行比较.
函数0x6D50C0 --> 0x6D4BB8, 交叉函数和验证算法一一样.
加密函数
加密函数涉及IDEA和BlowFish,Hash函数涉及Sha1和Sha512函数。 加密的内容: username和rcode_one交叉的部分。
函数0x6C4D78
与验证算法一中的一样.
校验部分
提取加密结果中的大写字符,与rcode_three相比较。
整个验证思路:
破解方法:
以上内容介绍的是主要的验证算法,还有其他的一些函数,顺便介绍一些。
如何生成对应类型(Family、Educational、Corporate)的注册码? 下面用代码来进行说明:
虽然看雪上面也有一篇关于破解FastStone Viewer
,但破解这个软件还是花了四五天的时间。其实两者验证算法极其相识,但注册码还是不能通用,原因就是其中一个字符串不同,FastStone Viewer
为96332
, FastStone Capture
为96338
. 将FastStone Viewer
这篇文章中提到的注册机中的字符串96332
修改为96338
,生成的注册码也是可以用的.
这是第一次真正的破解一个软件,虽然看了别人破解内容,但自己实地操作还是遇到许多坑,尤其是面向对象的一些性质。另外,就是一些加密算法要非常熟悉,这样才能整个数据的变化非常清楚,例如:FastStone Capture
的BlowFish加密的内容不是用户名和注册码交叉的部分。
Github
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-6-30 08:53
被baolongshou编辑
,原因: