FunCoolShell

来源:互联网 发布:手机淘宝客服怎么设置 编辑:程序博客网 时间:2024/06/07 08:01


前天在微博里看到耗叔发了一个通关游戏,可惜没有闯进Top100,中间卡了几题也是经提点才找到思路。题目连接:http://fun.coolshell.cn/

下面把各题思路一晒,供参考。

0 Fuck your brain

++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<>>>>>>>>>>>>+++.---<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>--.++<<<<<<>>>>>>>>>>>>>.<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<.
代码如上,G一下代码和文字,找到为BrainFuck语言,从网上找到一个解释器,VC工程编译一下,完美得到结果:

welcome.html
ps:这里输入welcome.html之后返回首页,郁闷了很长时间,后来发现好像是cookie的问题,这里需要进入两次才通过。

1 -Multiply

这题第一个答案显然:1944,输入后发现不是最终结果,还需要另外一个Y,G第二句话首页就有:42

1944*42=81648

2-Keyboard

图中这键盘源码里有信息为:vorak Simplified Keyboard ,维基里有解释。

下面一行代码:

macb() ? lpcbyu(&gbcq/_\021%ocq\012\0_=w(gbcq)/_dak._=}_ugb_[0q60)s+
显然,是个相互转换的关系。这里可手动转也可以搜转换器,之后得到结果如下:

main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
这个unix代码我确实看不懂(看了unix学习脚步不能停),继续G,能找到其中一些函数信息:

最后结果为:

unix

3-QR code

二维码,不会是病毒吧,开防护扫之,是个26个英文的字符转换

[abcdefghijklmnopqrstuvwxyz] <=> [pvwdgazxubqfsnrhocitlkeymj]
下面还有一行句子:

Wxgcg txgcg ui p ixgff, txgcg ui p epm. I gyhgwt mrl lig txg ixgff wrsspnd tr irfkg txui hcrvfgs, nre, hfgpig tcm liunz txg crt13 ra "ixgff" tr gntgc ngyt fgkgf.
敲个C++ 转换之,咦,看不懂。反向转换之,得到如下:

chere there is a shell, there is a way. s expect you use the shell command to solve this problem, now, please try using the rot13 of “shell” to enter next level.
输入shell,不得结果,细看是rot13 of "shell" ,网上找加密器,得:

furyy

4-cat

妖娆的小猫一只,看网页源码,下面有一群信息...应该答案在这里面,然后看页面上的说明,经同学尝试输入了个cat,得到又一行提示:类似cat模式。还有一句隐蔽提示,大小写敏感,观察页面左部的源码发现满足要求的code 应该是满足正则表达式:[X-Y][0-9][a-z[0-9][X-Z],[0-9][X-Z][a-z][X-Z][0-9]的回文串。其中[a-z]为所求

继续C++实现之,(我得承认看过别人的python代码后,深感C++的不便,可惜python还不甚熟练)

然后将源码中的信息输入,最后得到:

variables

5-variables

这!一!题!困!了!一!天!啊!后来求助才知道的。

我一直没明白这个keep going 是原来是不断寻找下一个页面的意思啊,都是泪。

点进图片,转到 http://fun.coolshell.cn/n/2014 页面就一句话32722,我头一晚各种G 32722这都搜到美国邮政编码呢还是...源码将32722 替换2014就可以发现规律。

前几天刚好用python写虫子了解一点,python 递归访问,最后得到:

Cool! the next level is “tree”

6-tree

二叉树题目,根据中序、后序遍历还原二叉树,这个代码一实现即可。下面一段加密文:

U2FsdGVkX1+gxunKbemS2193vhGGQ1Y8pc5gPegMAcg=

页面提示解密需要找到二叉树最长路径。用C++写完代码得到最长路径:

zWp8LGn01wxJ7
按照文中的提示在 Ubuntu 下 键入命令(我得承认这个openssl 的参数我看了很久:

openssl enc -aes-128-cbc -a -d -pass pass:zWp8LGn01wxJ7 -in -code.txt
得到:

nqueens

7-N Queens

类似八皇后的九皇后问题,碰巧前几天刚写了个八皇后的代码,改一下参数就可以用在这了。
九皇后有352个结果,加上一题的答案:

zWp8LGn01wxJ7

sha1计算之,这里用了python写,可恶的windows下用的是python33,而之前在Ubuntu下都是用python2.7学习的...这个代码虽短但也费了不少时间(因为一G就了解不少2.7、3.3之间的爱恨情仇,简直没朋友),最后找到答案为:

953172864

8-Excel Column

很明显26进制数字,为了练习python(python代码真的很短诶),决定用python写,得到coolshell和shell的10进制值,相除得到85165,输入,提示要转成字符,继续pythyon之得到:

DUYO

9-Fraternal Organisation

这个图真的太有内涵,读书少,看不懂。继续在网页源码里找信息,找到两个图的名字和第一个图的标题。总之还是要G它,最后在wiki里找到了解释:http://en.wikipedia.org/wiki/Pigpen_cipher 可以知道是一种加密方式,手动解密页面中的图片。

非常程序员:

helloworld

整个过程并不轻松,不过比网络攻防的题目要简单(因为网络攻防比赛从没单挑过第3题呀),对视野和编程能力都是一个锻炼。









0 0
原创粉丝点击