首页
社区
课程
招聘
[求助]算法逆推高手请进老菜飞过
2008-9-10 02:12 4764

[求助]算法逆推高手请进老菜飞过

2008-9-10 02:12
4764
取注册码前5位分加乘以一个事先设定的数然后再相加,例如注册号前5位为 56789

(5 * 0x121884 ) + (6 * 0x8c61 + 7) * (0x441 + 8 * 0x21) +  9 = 0x5DE3A3

再用0x5DE3A3生成一段代码和硬件码比较相同注册成功;

通过一段算法可将 0x5DE3A3 转变 0xEAFAF3

程序算法,也就是如何将0x5DE3A3转变成0xEAFAF3.就是想问一下如下的算法有没有什么方法可逆?

知道的帮个忙.

程序的算法我已用Delphi7.0写成程序了.请下载里面说的很详细.我只知道这样算就是不知道

怎么逆?

算法大概描述:

J1*J3 mod 0x23846FB 放在 J2     0x23846FB是设定的一个常量.第一次计算用的1也是常量只用了一次 .

J1             J2                J3

0x5DE3A3                 0x5DE3A3                              1
0x5DE3A3                 0x19D34B                          0x5DE3A3
0x19D34B                 0x1904B3D                         0x5DE3A3
0x19D34B                 0x94B138                          0x19D34B
.
.
.
.
.
0x1950F9F                0xEAFAF3                           0x715BB2

到这得出0xEAFAF3

以上数据是用56789算出的实际数据.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
学习zzg 2008-9-12 10:39
2
0
是不是这个问题太简单了.没人原意看下?
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wolfzhu 2008-9-12 11:20
3
0
根据楼主的算法,设J1=0x5DE3A3, M=0x23846FB, R=0xEAFAF3, 则满足

J1^6n = R (mod M), n为自然数;

求出J1之后,代入

J1 = (a * 0x121884 ) + (b * 0x8c61 + c) * (0x441 + d * 0x21) +  e

就可以算出N多的碰撞来。
雪    币: 246
活跃值: (81)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
lankerr 2008-9-12 17:00
4
0
可以试试楼上的
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
学习zzg 2008-9-18 22:58
5
0
谢谢你们回复。问题已解决
雪    币: 1126
活跃值: (156)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
DiKeN 5 2008-9-19 17:59
6
0
23846FB=148D*1BA7;

看看你多少轮吧. N=P*Q;
D=? or E=?

M^E%N=C
C^D%N=M

C=M^E%N=M*M^(E-1)%N=....
RSA算法, 看上去应该是这样

(不过我怀疑你的J3是不是有问题哦。 按我这个理解应该都等于M= 0x5DE3A3)

我计算了一下
E=1817; D=5F9E37;
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ynygu 2008-9-19 23:33
7
0
楼上的楼上的楼上  全都是高手
游客
登录 | 注册 方可回帖
返回