首页
社区
课程
招聘
[原创]Riijj keygenme 1 - C 源码 Keygen
发表于: 2007-12-11 21:51 8525

[原创]Riijj keygenme 1 - C 源码 Keygen

2007-12-11 21:51
8525

题目: Riijj keygenme 1 - C 源码 Keygen
作者: riijj
日期: 11-12-2007
介绍: 对 keygenme 1 作简单介绍和算法解释
发表: bbs.pediy.com

Keygenme url:
http://bbs1.pediy.com/showthread.php?t=56279

今次 keygenme 1 使用的算法不长,是一堆浮点运算指令,对于浮点运算 asm 不
熟悉的朋友可能感到有点麻烦。可是,即使完全清楚了算法后,也可能解不开这
个算法,因为今次 keygenme 没有明码比较,而是使用了一个难以逆向的
function 对 key 进行处理。换句话说,要破解这个 keygenme,需要看穿这个
function 想出逆 function 计出 key 值。

If generate( name) = func(key) then
Registration_success.
End if

今次 keygenme 使用了 Discrete Cosine Transformation 来对 key 值对行转换处
理,它是一个可以把资料转换达到 energy compaction效果的函数。它的特点是
还原时低失真,我们使用了 double array 来进行资料储存,在解读时可以还原成
接近原数据的模样。

由于函数复杂的特性,而且 element 数比较多,我们一般难以直接求解,如果
没有了解到它是 DCT 转换的话,这个 keygenme 比较难处理。

以下是 key gen 的源码,只要把 name 进行产生数字程序,得到16 组数后,把
它进行 IDCT (Inverse Discrete Cosine Transformation) ,便可以快速成为正确的
key 值


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

收藏
免费 7
支持
分享
最新回复 (10)
雪    币: 1969
活跃值: (46)
能力值: (RANK:550 )
在线值:
发帖
回帖
粉丝
2
看keygenme没整明白 再来看看源码 学习
2007-12-11 22:11
0
雪    币: 47147
活跃值: (20450)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
riijj的东西收藏
公式求解
2007-12-11 22:25
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
4
刚才发的源码多了一个变量 sum,它是没用的,删了
2007-12-11 22:30
0
雪    币: 29235
活跃值: (7764)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
5
收藏&&珍藏~~
2007-12-11 22:59
0
雪    币: 246
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
6
值得学习,我也顶个
2007-12-11 23:36
0
雪    币: 926
活跃值: (387)
能力值: (RANK:500 )
在线值:
发帖
回帖
粉丝
7
其实最开始我想用给定的SN来反推用户名。因为给定SN=00001234那么f(sn)算出来几乎都为0,因此可以忽略不计。这时只需f(user)=-45+0.4 -98+0.4 -36+0.4 -45+0.4 -85+0.4 -87+0.4 -23+0.4 -86+0.4 -83+0.4 -11+0.4 -85+0.4 -94+0.4 -72+0.4 -84+0.4 -26+0.4 -88+0.4这些数即可。但我在计算时发现会得出某个字符的ascii码超过了0xff.因此反推失败。
不过不代表不存在反推的可能,不过是我只是就TEST了一组而已,懒得继续了.
2007-12-12 09:05
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
8
对,下次类似的算法,我会加入限制用户名字于 A-Z a-z 0-9 []., 内,其它的不接受,使反推困难

当然, name 的转换 function改善一下更好

humourkyo 兄分析透彻
2007-12-12 10:22
0
雪    币: 452
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
好好的学习下。。。
2007-12-26 13:19
0
雪    币: 721
活跃值: (350)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
10
思路不错,下次我使用log和反正切,反余切,tan,atan。
2007-12-26 13:39
0
雪    币: 721
活跃值: (350)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
11
再下次,再加上几百个扰乱思路的循环套循环,把真正的算法(估计就是1+1=?这种类型)嵌入到其中一个里面,也许很有搞头。
2007-12-26 13:45
0
游客
登录 | 注册 方可回帖
返回
//