好友
阅读权限30
听众
最后登录1970-1-1
|
第四届52CM大赛的最后一个cm出来了。
防守方是大魔王苏紫方璇,攻击方乃各方勇者。那么,到底谁才能拿到最后的宝物呢?让我们拭目以待吧。
算法莫名的简单,看来是大魔王放水了,既然如此,就勇敢的上吧。直接看c代码比较好
我以其中一组解锁码为例:
key:6B1B054A-1C16FC351F2FFBFB2
通过 - 分割解锁码,得到两个字符串:
str1:6B1B054A (长 0x8)
str2:1C16FC351F2FFBFB 2 (长 0x8*2 + 1)
str2 转换为文本数组,具体就是转为:
str3 = {0x1C, 0x16, 0xFC, 0x35, 0x1F, 0x2F, 0xFB, 0xFB} (长0x8)
最后一个字符转换为 0x02 * 34 = 0x44 = EncryKey
定义两个加密常量:
staticKey1 = {0x1A, 0x0C, 0x2D, 0x1C, 0x0F, 0x0D, 0x3E, 0x01} (长0x8)
staticKey2 = {0x0D, 0x3A, 0x2D, 0x21, 0x11, 0x14, 0x08, 0x25} (长0x8)
最终,进行下列运算
for(i = 0; i < 8; i++)
string = str1 + str3 + staticKey1 + staticKey2 + EncryKey;
如果
string = {0xBD, 0xE2, 0xCB, 0xF8, 0xB3, 0xC9, 0xB9, 0xA6} //ASCII 解码成功
则该key就是正确的。
keygen已经附上,哈哈,这样一来,对于我来说,CM大赛就结束了。终于结束了啊,持续了2个星期,多少也是有点累啊。
|
|