BrainFuck(通常也被称为Brainfuck或BF)和Ook是两种非常特殊且有趣的编程语言。以下是对这两种语言的详细介绍:
一、BrainFuck
-
简介:
- BrainFuck是一种极小化的计算机语言,由Urban Müller在1993年创建。
- 由于“fuck”在英语中是脏话,这种语言有时被称为brainf*ck、brainf**k或简称为BF。
-
特点:
- BrainFuck语言只有八种符号:>、<、+、-、.、,、[、]。
- 这八种符号分别代表不同的命令,用于操作内存指针、修改内存单元的值、进行输入输出等。
- BrainFuck语言基于一个简单的机器模型,包括一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节),以及用于输入输出的两个字节流。
- BrainFuck是一种按照“Turing complete(图灵完备)”思想设计的语言,能够完成任何计算任务。
- 例题:[+-<>] - Bugku CTF平台
二、Ook
-
简介:
- Ook是一种与BrainFuck类似的极简编程语言,也采用了替换的方式进行编程。
-
特点:
- Ook语言只有三个不同的语法元素:Ook.、Ook?和Ook!。
- 这些元素被组合成两个一组的对,不同的对组合指定不同的命令。
- Ook程序必须包含偶数个“Ook”字符,且换行符被忽略。
- Ook语言的命令包括移动内存指针、修改内存单元的值等,与BrainFuck类似,但语法和命令的映射方式有所不同。
-
例题:ok - Bugku CTF平台,.!? - Bugku CTF平台(这个是变形题可以试着解解看)
-
推荐个解密在线工具:Brainfuck/Text/Ook! obfuscator - deobfuscator. Decode and encode online.