能力值:
(RANK:210 )
|
-
-
2 楼
天涯何处无芳草,何必单恋一枝花。
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
一下小心就错过了
|
能力值:
( LV9,RANK:170 )
|
-
-
4 楼
囧,VB的东西,对俺这种菜鸟来说太难了,搞不定
|
能力值:
( LV9,RANK:160 )
|
-
-
5 楼
VB我汗
打个广告
建议楼主改用powerbasic。那东西不是一般地好用啊。。
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
hope.Timer()
我就死在这里了 重启
timer是关键
|
能力值:
( LV9,RANK:180 )
|
-
-
7 楼
数学系的应该会
主要是这个
(X 的 15935 次方) mod 99221 = Y
已知 Y , 怎么逆出 X ?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
VB的东西头晕,等高手发文学习下,N多循环
|
能力值:
(RANK:570 )
|
-
-
9 楼
Y + 99221 * a = x的15935次方
从0开始枚举a的值
|
能力值:
( LV9,RANK:180 )
|
-
-
10 楼
有算法的. 以前看过.
就像他写的 (X 的 15935 次方) mod 99221
不会是真的去算 X 的 15935 次方
例如: (X 的 15935 次方) mod 99221
可用下列实现:
init r=1
p := X * (r mod 99221)
r := p mod 99221
repeat 15935 次
就是 (X 的 15935 次方) mod 99221 的值
|
能力值:
(RANK:570 )
|
-
-
11 楼
等待科普。。。。。。。。
|
能力值:
( LV9,RANK:180 )
|
-
-
12 楼
抱歉 蹂躏了
演算法:
1. 拆组 3-5 xor
2. (X 的 15935 次方) mod 99221
3. 88638358领军右步进继承八位数之连滚带爬 xor
4. 不告诉你
PS. 上面的const不知道会不会随PC而变, 没试过.
0078600186001270075300835007470055100876001140073400456008340057600258003650038100212008789568852607
|
能力值:
(RANK:410 )
|
-
-
13 楼
学习....
|
能力值:
( LV13,RANK:920 )
|
-
-
14 楼
看来是我的第三步出现了思考上的漏洞,呵呵,谢谢 sessiondiy 大侠的破解,哈哈,可以继续完善算法,这里的每一步都留下了破解的余地,所以只要明白了算法,经过一些数学技巧就可以逆算法了,干得好!!!YOU DID A GOOD JOB!!!
第四步的"不告诉你",呵呵,容易让人误会是你藏着不告诉别人你是怎么破的,我明白你的意思
欢迎你下次有空再破我的新CM,现在开始金工实习了,有些忙......
|
能力值:
( LV8,RANK:130 )
|
-
-
15 楼
0040E664 PUSH EAX ; /取值长度=0x12F5DC (vb整型:8)
0040E665 PUSH ESI ; |开始位置=0x1 (unicode字符串:"7656189785066217350305798264370089427976209008628461690950330526456393024215746134495899530278859361")
0040E666 LEA ECX, DWORD PTR SS:[EBP-CC] ; |ECX=0x12F59C
0040E66C PUSH ECX ; |字符串=0x12F59C
0040E66D LEA EDX, DWORD PTR SS:[EBP-9C] ; |EDX=0x12F5CC
0040E673 PUSH EDX ; |保存结果=0x12F5CC
0040E674 CALL DWORD PTR DS:[40106C] ; \rtcMidCharVar 在字符串中取字符
0040E67A LEA EAX, DWORD PTR SS:[EBP-9C] ; EAX=0x12F5CC (vb字符串:"76561897")
0040E680 PUSH EAX ; /字符=0x12F5CC (vb字符串:"76561897")
0040E681 LEA ECX, DWORD PTR SS:[EBP-70] ; |ECX=0x12F5F8
0040E684 PUSH ECX ; |参数1=0x12F5F8
0040E685 CALL DWORD PTR DS:[4010B0] ; \__vbaStrVarVal 把字符转ascii码
0040E68B PUSH EAX ; 字符串=0x135C8C (unicode字符串:"76561897")
0040E68C CALL DWORD PTR DS:[401110] ; rtcR8ValFromBstr 字符串转为数值
0040E692 CALL EDI ; __vbaFpI4 浮点数值转为I4
0040E694 MOV EBX, EAX ; EBX=0x4903DE9
0040E696 FLD QWORD PTR SS:[EBP-6C] ;
0040E699 CALL EDI ; __vbaFpI4 浮点数值转为I4
0040E69B XOR EBX, EAX ; EBX=0x1D8BE7F //EBX=0x4903DE9^0x5488396
这应该就是那八位数之连滚带爬 xor
浮点运算太多了,看了晕啊
|
能力值:
( LV13,RANK:920 )
|
-
-
16 楼
其实我有个很重要的怀疑: sessiondiy 是穷举的某个数字
大概花了好几分钟吧?
不知道 sessiondiy 兄弟是否同意我的说法?
|
能力值:
( LV9,RANK:180 )
|
-
-
17 楼
二组 0~99220 , 倒着来很快, 就算不倒着来也不会很久
所以我之前的帖子说要数学系的来搞比较好
你这大次方的mod算法我在win95时期处理某软件的SN算法有见过
就是没数学底子, 不会反算.
sorry. 让你见笑了
难怪我无法看破红尘没什么智慧
|
能力值:
( LV13,RANK:920 )
|
-
-
18 楼
大侠谦虚了,我不是说大次方问题,大次方只是用来变换人机部分数据用的,没什么难度
我的意思是"连滚带爬 XOR 逆推"问题,不知道你是用什么算法逆推的? 还是直接编程穷举?
我刚才也证明了该"连滚带爬 XOR"穷举的话,用我的方法,只要10秒钟左右......
所以我怀疑你也是用高性能计算机穷举的"连滚带爬 XOR"最简密码
希望能交流下这个经验
|
能力值:
( LV9,RANK:180 )
|
-
-
19 楼
哦, 忘了这个.
我是写程式列举的
虽然电脑低级 AMD Athlon XP 1500 ' RAM=384M, 跑一下就出来了.
用跑的比较快, 就算真能反,花的时间成本太高. 想出来头发都白了.
|
能力值:
( LV13,RANK:920 )
|
-
-
20 楼
我已经用VB实现了超大数异或运算,只要取50位连滚带爬50位后再反爬50位就够了
VB 实现大数异或测试:
原理: 将大数看成字符串,转成二进制,二进制看成字符,自定义异或,结果重新转为十进制
多数时间花在了转换进制上......如果不转换为十进制的话,也许速度更快
平台: CPU:2.0G 内存:512MB 测试时间 2008/09/01 23:27
十进制1000位数数据之间进行异或大概需要10秒钟时间
十进制800位数数据之间进行异或大概需要7秒钟时间
十进制600位数数据之间进行异或大概需要2秒钟时间
十进制400位数数据之间进行异或大概需要1.5秒钟时间
十进制200位数数据之间进行异或大概需要0.3秒钟时间
十进制100位数数据之间进行异或大概需要0.1秒钟时间
十进制50位数数据之间进行异或大概需要0.02秒钟时间
由上测试可看见50位到400位之间都还是可以接受的
不知道把这个技术用到连滚带爬中,选择初始滚值为100位数字,从左到右递增遗传异或,顺算1秒钟,逆算无法估量,你还可以穷举吗?
不知道把大冥运算底数扩大,用上大数运算技术,也就真正成了RSA算法了,到时要逆算法恐怕不容易,更不用说穷举了
除非爆破了......
|
能力值:
( LV9,RANK:180 )
|
-
-
21 楼
以这题而言: 我前面全是 0 , 所以我只需要 8 位
88638358
000000000000000000...0000000xxxxxxxx
再怎么滚, 也是 88638358 vs 后8数
你的题目决定了Cracker的做法
加大位数有加大位数的作法, 除非不可逆.
我不是說大次方問題,大次方只是用來變換人機部分數據用的,沒什麼難度
另外, 可否说一下 (X 的 15935 次方) mod 99221 逆算公式
因为你主题有提到注册机, 这个必需要逆算回来.
|
能力值:
( LV9,RANK:180 )
|
-
-
22 楼
超大数运算我很久以前也写过.
另外. 你说的滚过去再滚回来 vs 直接指定一个Result, 要你算出底, 是不同的.
以这题最精简时的8位数而例:
88638358 <- Leader
--------
0000000a
000000ab
00000abc
0000abcd
000abcde
00abcdef
0abcdefg
abcdefgh
--------
95488814 <- Result
已知 Leader 及 Result , 必需是算出 abcdefgh
跟滚过去再滚回来是不同的.
|
能力值:
( LV13,RANK:920 )
|
-
-
23 楼
以这题而言,使用的其实就是8位连滚,如果实现超大数异或,那么连滚的位数每次都可以超过50位,达到50--100位左右,再大点,自己运算都有点慢了,所以只能取这个范围了.
过几天再设计同样的CM,升级算法,看看兄台是否还能成功解密(排除爆破)
|
能力值:
( LV9,RANK:180 )
|
-
-
24 楼
OK
请问若最后那个"不告诉你"是固定的,
你要怎么根据机器字符串, 提供注册码给客户 ?
|
能力值:
(RANK:1060 )
|
-
-
25 楼
也许跟费马有关
|
|
|