【吾爱破解2014CrackMe大赛】【第十四组】
第四届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个星期,多少也是有点累啊。
郁闷了,有些c的格式貌似被吃了,好吧,说明一下,最后进行string计算的应该是
for(i = 0; i < 8; i++)
string = str1 + str3 + staticKey1 + staticKey2 + EncryKey; 最终得分:175
评委评价:有效 楼主牛逼!学习了! 最后一个字符转换为 0x02 * 34 = 0x44 = EncryKey
为什么是这个? 那就休息休息,继续参加下一届 好厉害的样子
页:
[1]