攻防世界-MISC:can_has_stdio?

这是攻防世界MISC高手进阶区的题目,题目如下:
在这里插入图片描述
点击下载附件一,解压后得到一个txt文件,打开后内容如下:
在这里插入图片描述

根据百度搜索的结果可知这是一种叫做BrainFuck的语言,BrainFuck是由Urban Müller在1993年创建的,最小的具有图灵完备性的语言。一共由8种运算符组成,其编译器长度只有两百多个字节。这种语言基于一个简单的机器模型,除了指令,这个机器还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。

下面是这八种状态的描述,其中每个状态由一个字符标识:
在这里插入图片描述
Brainfuck程序可以用下面的替换方法翻译成C语言(假设ptr是char*类型):
在这里插入图片描述如果用这种语言写一个"Hello World!"的话,那就是

++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.

好了,扯远了,随便找一个BrainFuck在线解密网址,将文件里的内容复制进去,然后点击BrainFuck To Text即可
在这里插入图片描述解密后的结果如下:
在这里插入图片描述
所以这道题的flag如下:

flag{esolangs_for_fun_and_profit}

这里附上这道所需的在线解密工具:

BrainFuck在线解密网址

以上就是我对这道题的解法。因本人菜鸡一只,如果有什么不对的地方,实属正常。还请各位大佬予以指正,谢谢!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>