其他分享
首页 > 其他分享> > 攻防世界-MISC:can_has_stdio?

攻防世界-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在线解密网址

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

标签:攻防,字节,stdio,MISC,解密,如下,BrainFuck,数组,语言
来源: https://blog.csdn.net/m0_56161093/article/details/122414245