coolshell出了个游戏,网址点这里,奉上攻略。
第0关
brainfuck语言,很久以前就觉得有意思。
得出是welcome.html。
第1关
2, 3, 6, 18, 108, ?
2×3=6,3×6=18,6×18=108,18×108=1944
输入1944.html知道x=1944。
“生命、宇宙以及任何事情的终极答案”,42。输入42.html知道y=42。
1944×42=81648
得81648.html。
第2关
那个键盘排布是dvorak方案,不同于我们平常的QWERT键盘方案。
直接上网找转换,那串字符转过来就是
main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
看起来就是C++语言。继续在线编译运行。运行出错,好吧。
按照collshell好像很喜欢IOCCC的尿性,用Google搜一些关键字,比如奇怪的"&unix"
,记得加上双引号。找到一个比较有用的解释。
学以致用,得出答案:unix
第3关
扫描QR Code,得[abcdefghijklmnopqrstuvwxyz] <=> [pvwdgazxubqfsnrhocitlkeymj]
。简单的字符替换。
在线解析QR code也可以,网址。
因为在浏览器下,直接用javascript写脚本了。OK……注意是后一个的字母替换前一个。
1 | function decode(text) { |
得到一段话:Where there is a shell, there is a way. I expect you use the shell command to solve this problem, now, please try using the rot13 of "shell" to enter next level.
就是说要用ROT13来转换shell
这个字符串,得出是furyy
第4关
左边就是告诉我们提取字符的模式:
每5个字符,看前两个和后两个,必须满足:
- 必须含一个大写字母和一个数字
- 是回文
而提取的字符则必须是小写字母。
The answer has been lost in the source
则是说密文在源代码里面。有好一大串。
用正则吧,写出来就是([A-Z])([0-9])[a-z](\2)(\1)|([0-9])([A-Z])[a-z](\6)(\5)
。
抱歉,更高级的写不出来了。
直接开sublime text 2,复制那段大串字符进去,搜索开启正则模式和区分大小写,得:
1 | E1v1E |
取中间的variables就是答案。
第5关
点图片,按后跳转,得一串数字,复制到地址栏,又是一串,好吧这模式都太无聊了。而且页面没有jQuery,先引入。
1 | var jq = document.createElement('script'); |
接着模仿我之前写过的另外一个攻略里面的做法。
1 | url = 'http://fun.coolshell.cn/n/'; |
之后就不断执行g()
吧,最后答案是tree。
第?关
最后tree.html跳回一开始了,不知道是不是我太渣已经过时了……
突然想到可能会看reference,于是访问了一下前一个地址:fun.coolshell.cn/n/20446,再回头访问tree.html,可以了。
第6关
算法……我等只会Google的渣渣就棘手了。
好歹用python写了还原树结构的代码,但是它说找deepest path就不懂了,看看有什么人有解释……
最后还是得靠自己画树……借助python代码将节点关系打出来。
1 | #!/usr/bin/env python |
输出结果:
1 | [('None', 'z')] |
然后手动画树!最后得到最深路径是zWp8LGn01wxJ7。
Linux下执行:
echo U2FsdGVkX1+gxunKbemS2193vhGGQ1Y8pc5gPegMAcg=|openssl enc -aes-128-cbc -a -d -pass pass:zWp8LGn01wxJ7
得到nqueens。终于过了。
第7关
好吧八皇后。说实话我从来都不太想在做类似的游戏时写算法,又不是什么ACM做题,唉。直接Google N皇后算法的python算法,解出N=9的所有解,352个解,是时候用暴力手段了。
只是它这个code和通常表示八皇后解的数字不一样,正常是从上到下从左到右记录,它这个是从下到上从右到左记录……
暴力出全部解之后其实都一样啦。
结合sha1解密验证的代码:
1 | #!/usr/bin/env python |
得出答案:953172864
第8关
好吧26进制
A=1, B=2, … , Z=26
于是AA=26^11+1, ZZ=26^126+26, AAA=26^21+26^11+1, …
算出来是85165,然后还要转字符……是DUYO。
第9关
根据图片搜出来是Pigpen Cipher,上wiki查到对应英文。
答案是helloworld。
啊终于通关了,看top100,排53。
本文被原作者指出会破坏游戏公平性,故在活动结束之后才重新发布……当时自己考虑不周给各位道歉了OTL。