前言
很久没打比赛&写文章了,本来想2022开年写,没想到还是等到了农历年后,大家,新年快乐!贝塔又回来了,希望多多更新,不咕咕咕
这个题目是2021美团第四届决赛的题目,学到挺多的,在这里记录一下。
顺便感谢CSDN账号为七堇墨年师傅的帮助~~
https://blog.csdn.net/justruofeng/article/details/122106893#comments_19632148
正文开始~~
解压附件发现了flag.ws文件,
(像这种奇奇怪怪的后缀名都可以用010打开简单看一下,或许切换一下显示方式就会有发现,没有后缀的文件就用010打开或者其他能看十六进制的打开复制开头的十六进制去百度搜一下((狗头)
后缀结尾很明显是whitespace的文件,直接010看一下内容确定一下,大概就是长这个样子,由空格和tab组成,所以在平常文本里就是一片空白
直接上网站解密,复制进去或者导入文件都可以
https://www.dcode.fr/whitespace-language
(只能说这个网站太好用了,什么解码都有,网站有点慢,但是好用就完事了
唔,这个地方缺张图,实在是因为网站解码太慢了,(也可能是我网慢)将就着吧,脑补一下
解码结果是一个长字符串,看到开头熟悉的504B就知道是一个洒洒水的zip啦,复制到010直接保存就好
可以看到里面有两个文件,一个是GIF,另一个是kge,看了一下,图片没啥问题,就是普通的GIF,但是不会动(猜测就一帧)不过问题不大,这个图片本身就是一个信息,上面是一个点图,直接上工具扫码就是了
看这个样子好像是一个密码,图片其他的好像也没有什么不对劲的地方了,那么我们可以先放到一边,来看另一个文件。
另一个文件是kge后缀的文件,百度一下会发现这个
和这个
似乎寻找kge的秘密可以用这个,接下来去寻找一下这个软件好了
发现可以解压缩?
直接加载并用上刚才扫码得到的命令
好了得到了又一个压缩包
里面有一个hint和一个谜题文件提示是emoji,所以就还是emojicode啦(关于emoji的不多,就几个特征很好认
贴一篇介绍文
https://zhuanlan.zhihu.com/p/2795823
贴一篇安装步骤(进去之后选择linux版本即可
https://www.emojicode.org/docs/guides/install.html
wget https://github.com/emojicode/emojicode/releases/download/v1.0-beta.2/Emojicode-1.0-beta.2-Linux-x86_64.tar.gz -O emojicode.tar.gz \
&& tar -xzf emojicode.tar.gz && rm emojicode.tar.gz \
&& cd Emojicode-1.0-beta.2-Linux-x86_64 && ./install.sh \
&& cd .. && rm -r Emojicode-1.0-beta.2-Linux-x86
虚拟机联网,一口气输入上述命令等待就可以了
wget表示下载文件
&&表示连接命令并执行
tar加参数表示解压文件
第三行重点在后面 ./ xxx.sh表示运行可执行文件,在这一步就是安装,一直y就好了
rm -r删除文件夹
也可以分开来输入,分开输入要删除掉&&
安装成功后会显示success[YEYEYEYE!]
(配环境安装不要怕,头铁就完事了,大不了快照回滚(超级狗头保命))
然后将math.txt拖到虚拟机
运行enojicodec 文件名的命令,会显示一个报错:意思是说文件后缀名得是emojic才可以,修改后缀名即可
重复运行上述命令,会生成两个新文件和没有东西的新的命令行
接下来运行./math 这个命令
即可得到结果
将其md5后即为flag
18eebeda59edbb8afc6504212d9b1708
flag{18eebeda59edbb8afc6504212d9b1708}
咳咳,提问:为什么输入emojicodec没反应且生成了两个新文件,输入./math才可以?
答:①emojixxx是个编译器,math是编译完成的程序
②因为emojicodec是把emojicode程序编译成可执行文件用的,第一次命令编译得到math,第二次执行mat
*以上,两个答案来自mon0dy挽歌师傅和八神!
感谢两位师傅的解答~~
完结,撒花✿✿ヽ(°▽°)ノ✿