您的位置:首页 > 运维架构 > Linux

Linux 兴趣小组2016免试题 第四关揭秘

2016-04-28 16:04 260 查看
Linux 兴趣小组2016免试题 点这里

首先贴出第四关链接Linux 兴趣小组2016免试题 第四关

第四关:

进入网址我们看到的是4张扑克牌K,这是什么意思?



要我斗地主?好了,还是乖乖的先查看源码吧。



但是什么也没有发现啊。没办法,将四张照片都下载下来看看,可是左看右看还是一张图片啊,该不会在图片内容中隐藏着什么吧?那怎样查看图片内容呢? 找个十六进制编辑器吧!



这些其实都可以,大家自己选择由于我在Linux操作系统下熟悉了hexedit,就下载了一个hexedit来分析。没办法,一张一张来吧。阳光总在风雨后,机遇出现在第三张图片,看看发生了什么神奇的事情!



什么!!难道这是一个rar压缩文件,于是立马修改了图片的后缀,果然发现了…



再查看1.txt的内容,发现好像是一个与c语言有关的程序,但是看内容不是源码啊,修改个.exe试试?结果出现了:



天哪!贪吃蛇,好吧,像我这种手残党,十分钟之后……



得到 Important Message

VHUUEFUDIXQHU

然后以为得到了全世界,去提交,结果不对,这就尴尬了,那现在应该怎么办呢? 没办法,还是
又回到最初的起点
,想想差了什么?突然觉得如果扑克牌是为了隐藏文件,那为什么一定要选K呢,而选择了K为什么又是方片K中才有文件呢,是不是还会有别的意思呢?

于是百度了一下扑克牌K



凯撒大帝?什么意思?那和提交有什么关系?前面贪吃蛇给了重要信息,好像是什么串,最终发现了



那到底移多少位呢?写个小程序跑下吧

#include<stdio.h>
char source[13] ={'V','H','U','U','E','F','U','D','I','X','Q','H','U'};

int line = 1;

void findAnswer(int begin)
{
char test[27];
int i,j,k;
for(i = begin,j = 1;j <= 26;++i,++j) {
test[j] = 'A'+i%26;
}
printf("%2d: ",line++);
for(k = 0;k < 13;++k) {
printf("%c",test[source[k]-'A'+1]);
}
printf("\n");
}

int main(int argc,char *argv[])
{
int i;
for(i = 1;i <= 26;++i) {
findAnswer(i);
}
}


一共26种结果如下



没办法就一个个粘贴,但是仔细看一遍发现只有第十个是有意义的,没错

FREEOPENSHARE

正是
Xiyou Linux Group
的口号,赶紧愉快的去提交



哈哈!长出一口气,进入第五关

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: