现在的位置: 首页 > 综合 > 正文

西邮Linux兴趣小组13级纳新免试题浅析(中)

2019年05月18日 ⁄ 综合 ⁄ 共 1949字 ⁄ 字号 评论关闭

        离成功又近了一步 ! 下面小编和你一起再接再励 !

        相信看过上之后, 很想知道扫了那个二维码以后会是怎么回事! 好的 ,其实是一个很简单的网页:

       

        可以看到标题是[2/5],意思是到第二关了,总共有5关啊!有一个戳一下,那就戳一下:

       

        发现又有一个戳一下,但是不能用鼠标点了。比较一下当前的URL发现后面部分和这个戳一下后面的惊人的相似,复制粘贴过去,打开发现又是一个页面!再同样的方式,有是一个页面,Damn it !难道就这样一直下去,什么时候是个头啊? 一定有提示信息的,我们看一下HomePage的网页源码 :

       

        我的神! 还有1024张网页~ 手动地点几乎不可能吧~!看来得用程序实现了!这里小编用shell脚本写的简单的程序,还是那句话,方法不唯一。不要因为小编的程序限制了你的思路哦! 代码不长贴一下吧  :

       

#!/bin/bash

pre="http://round2.sinaapp.com/"		#前缀信息

content=`cat 3ec4e8*.html` 			#第一个wget下来的网页内容保存在content中


next=$(echo $content | sed 's/.*>\ //g' | sed 's/<\/p>.*$//g')  #过滤出下一个html链接的地址


for (( i = 0 ; i < 1023 ; i = i + 1 )) 				   #循环1023次
do
    wget -q $pre$next 						   #下载下来新的网页
    formar=$next                                                   #保存新的html链接
    content=$(cat $next) 					   #将新的刚下载下来的html文件打开
    next=$(echo $content | sed 's/.*>\ //g' | sed 's/<\/p>.*$//g') 		#过滤出下一个html链接的地址
    rm $formar 							   #删除当前的html文件
    echo $next 							   #显示下一个html链接
    echo "$i" 							   #显示第几次抓取
done

         好了运行一下, 就开始抓了,这里就不等了,直接打开最后一个网页吧:

        

        是一张图片,有很多的文字信息,我们把图片Download下来看看有什么玄机:

       

        文件描述信息里面竟然有这个玩意,int _!但是暂时也没什么用。我们看看这个图片对应的字符编码!

        我们知道文件的相关信息在文件头部存储,每一种文件会有自己的起始和结束信息,jpg文件的起始编码是ffd8 结尾编码是ffd9 好的来看看吧 :

                   

       

        很清楚的看到其实编码是ffd8 , 但是结尾却不是,而且发现ffd9后面还有很多字符,看上去很像一个C程序! 我们把他copy出来 ,直接编译运行失败,我们加上必要的头文件和主函数(注:在linux下不存在getch这个函数,小编在这里换成了getchar):

       

        再次编译之:

       

        咦,一个变量未声明,名字还非常的奇怪,好像在哪见过!!! 哇,刚才的图片描述信息! 但是我们不知到这个变量应该定义在哪,如果你在VC下编译的话,会提示你main函数没有一个参数,gcc在这里没有给这样的错误信息,但是我们通过观察,发现这段程序的后面,main函数里面确实有参数,虽然我们不知道那是什么,但是刚好我们少个变量,就加在主函数里吧。试试。 :

      

       再编译运行之,咦!出来一堆数字! 什么意思呢? :

       

        在这里突然思路断了,想想,仔细回忆一下,我们还有什么信息没有用到!!! 是不是还有信息漏掉~!! 对吧,可能是...... 没错,经过一番苦思冥想,有可能是睡觉前或者是做梦梦到,或者是某一个时间点,突然想到的! :-),卖这么多关子 ,只想说 , 上帝会眷顾坚持不懈的人的 !

         图片上还有文字,对吧!!! 文字还没用呢! 看看这几个数字,各种猜想,数一数数字总数,哇~!刚好是文字的行数! 这其中有某种对应关系? 是的,大胆得去猜想,实践吧 ! 小编开始想 , 是不是对应每行的相对应的字符?但是不对, 是不是空格不能忽略,是不是从0开始数,从1开始数...... 所有尝试未果后,有一天中午,偶然想到看看对应的单词会不会有什么新鲜的。  ^_^ 哈哈 @v@ , 原来如此 。心情大为舒畅啊! 原来key就在这里 ! believe it or not too young
too simple is the key to this question as well  :

       

        好了,既然都说too young too simple 是key了,我们提交一下吧 !

        至此第二关就到这里结束了 。 真的是刺激好玩(^o^)。

抱歉!评论已关闭.