首页
社区
课程
招聘
求助:怎样通过正确的注册码求出算法K值
发表于: 2013-4-2 15:30 3818

求助:怎样通过正确的注册码求出算法K值

2013-4-2 15:30
3818
 分析一个软件的注册算法大概是:
1。对输入的注册码进行查表变换后与机器码的SHA-1散列值异或得出一个32位值K(算法可逆)
2。以K为key对0xffffffffffffffff进行RC2加密,得到一个64位值,设为E.
3。以K为key对一常数C(八个字节)进行RC2解密算法得到一个64位值,设为F.
4。F与E按位异或,得到八个字节分别设为N1,N2.......N8
5。以K为key对常数C进行RC2加密算法得到一个64位值,设为G.
6。将常数D(四个字节)与G低四个字节按位异或,得到四个字节分别设为N9,N10,N11,N12
7。对N1,N2,......N12一共12个字节进行SHA-1得到160位散列值高M
8。将M与一给定的散列值比较,相等就注册成功。

  K为一定值。只需要一个正确的注册码就可求出K,上述算法八个步骤对写注册机来说只需要第一个步骤就行了。(以上是看雪上一位高手的论述,好象这位高手现在隐身了)  向列位高手求助:怎样通过正确的注册码求出K值?如,该软件的机器码是:H5585748478 正确的注册码是:SW58527588 。 是否真能通过正确的注册码求出K值?如能,用什么方法?请行家高手不吝赐教。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
条件:对输入的注册码进行查表变换后与机器码的SHA-1散列值异或得出一个32位值K(算法可逆)
正确的注册码是:SW58527588 
软件的机器码是:H5585748478

SHA-1:76D1BA54A50A233CF280BD98A2C9B9F59D6540DF
既然算法可逆,应该可以通过正确的注册码求出K值
1、对正确的注册码进行查表变换。
2、对软件的机器码进行sha-1散列
3、将1和2的结果异或。
4、得到k
2013-4-7 12:48
0
雪    币: 124
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢指导,请问,用1和2怎样异或才能得出一个32位值的K,我异或得出的是一个80位值(20个字符的字符串),你能提示我用什么方法进行1和2异或?得出的是一个32位值的K。能详细点更好。
2013-4-7 23:41
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
尝试:4个字节为单元异或,位是操作字节
2013-4-8 10:25
0
雪    币: 124
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
按此方法试试。谢谢你的指导,现去结贴。
2013-4-8 13:00
0
游客
登录 | 注册 方可回帖
返回
//