第三关也不是一般的难呐,那么继续写一下解题过程(第四关会是什么样呢?)。
快速传送门:http://segmentfault.com/game/3
在用我想到的方法(booth算法、矩阵变换、各种CPU汇编机器码、傅立叶变换-=)做这道题得出的答案基本接近乱码,当然游戏页面也提示我答案错误。在我即将放弃准备破解的时候……是@那是件黑色的毛衣给了我勇气让我放弃治疗并告诉了我hack入口点。Hack的步骤大概是这样:
Hack过关:
首先先进入任意一关的过关页面:
进入控制台会发现如上图所示的代码。因为过关的其中一个条件是给seg发送一条过关微博,于是我们可以用上图的代码伪造一份过关证明。
$('#share').click(function(e) {
e.preventDefault();
if(3 === 1) {
var text = '我已经完成了 @SegmentFault 1024 HackGame【红岸的呼唤】之 「#1 红岸的呼唤」,信号成功发射。“以光速向宇宙飞驰吧!” 游戏传送门:';
} else if(3 === 2) {
var text = '我已经完成了 @SegmentFault 1024 HackGame【红岸的呼唤】之 「#2 来自星空的回应」,信息成功破译。要不要回答呢? [思考] 游戏传送门:';
} else if(3 === 3) {
var text = '我已经完成了 @SegmentFault 1024 HackGame【红岸的呼唤】之 「#3 智子时代的爱情」,智子阻挡不了聪明的人类,但明天又会遇到什么呢?游戏传送门:';
}
window.open('http://service.weibo.com/share/share.php?url=http%3A%2F%2Fsegmentfault.com%2Fgame&appkey=1742025894&pic=http%3A%2F%2Fsfault-image.b0.upaiyun.com%2F409%2F541%2F4095412548-5449b9b653849&title='+ encodeURIComponent(text));
});
由以上代码可知,发送微博的链接是由window.open中的两个文本拼接而成。前面的文本含义一目了然,但后面的文本需要转换一下。在这里我们要过的是第三关,于是转换第三关的文本并拼接成正确的网址:
过关传送门:
标准答案过关:
011
10
01
001
1
101
后又根据@程序园程序猿所说,这里的0和1对应摩斯电码的.和- 根据搭配的不同会有两种答案:
WNAUTK
DANGER
显然DANGER看起来更像正确答案一些,验证下:
OK,成功过关~
怎么又跳回到第三关了什么情况-=