标签:攻防 字节 stdio MISC 解密 如下 BrainFuck 数组 语言
这是攻防世界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}
这里附上这道所需的在线解密工具:
以上就是我对这道题的解法。因本人菜鸡一只,如果有什么不对的地方,实属正常。还请各位大佬予以指正,谢谢!
标签:攻防,字节,stdio,MISC,解密,如下,BrainFuck,数组,语言 来源: https://blog.csdn.net/m0_56161093/article/details/122414245
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。