[TOC]
Brainfuck/Ook!编码加密
Ook!加密
语法规则
OOK!只有三个不同的语法元素:
Ook。
OOK?
OOK!
它们组合成两个组,各种组合组合指定命令。因此,节目必须包含偶数个“Ook”。换行符被忽略
命令
OOK。OOK?
将内存指针移动到下一个阵列单元格。
OOK?OOK。
将内存指针移动到上一个阵列单元格。
OOK。OOK。
增加内存指针指向的数组单元格。
OOK!OOK!
减少内存指针指向的数组单元格。
OOK。OOK!
从STDIN读取一个字符并将其ASCII值放入Memory指针指向的单元格中。
OOK!OOK。
打印ASCII值等于内存指针指向的单元格中的值的字符。
OOK!OOK?
移动到匹配的Ook之后的命令?OOK!如果存储器指针指向的单元格中的值为零。注意Ook!OOK?和欧克?OOK!命令嵌套像括号一样,匹配对的定义方式与括号相同。
OOK?OOK!
移动到匹配的Ook之后的命令!OOK?如果存储器指针指向的单元格中的值不为零。
密文形式一(常见):
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook.
密文形式二(不常见):
..... ..... ..... ..... !?!!. ?.... ..... ..... ..... .?.?! .?... .....
..... ..... ..... ..... ..... ..... !.?.. ..... ..!?! !.?!! !!!!! !?.?!
.?!!! !!... ..... ..... ..!.! !!!!! !!!!! !!!!! !!!.? ..... ..!?! !.?..
....? .?!.? ..... .!.!! !!!.! !!!!! !!!!! !!!!! !.?.. ..... ..... .....
!?!!. ?!!!! !!!!! !!!!! !!?.? !.?!! !!!!! !!!!. ?.... ..... ..... .....
!?!!. ?.... ..... ..... ....? .?!.? ..... .!.!! !!!!! !!!!. ?.... .....
..... ...!? !!.?! !!!!! !!!!! !!!!! ?.?!. ?!!!! !!!!! !!!!! !!!!! !!!!!
!!!!! !!.?. ..... ..... !?!!. ?.... ..... .?.?! .?... ..... ..... .....
..!.? ..... ....! ?!!.? ..... ...?. ?!.?. .!.?. ..... .!?!! .?!!! !!!?.
?!.?! !!!!! !!!!! .?.
Brainfuck加密
语法规则
Brainfuck编程语言由八个命令组成,每个命令都表示为一个字符。
递增指针:>
减少指针:<
递增指针处的字节:+
减少指针处的字节:-
输出指针处的字节:。
输入一个字节并将其存储在指针的字节中:,
如果指针处的字节为零,则跳过匹配]:[
向后跳转到匹配[除非指针处的字节为零:]
Brainfuck命令的语义也可以用C语言简洁地表达,如下所示(假设p先前已被定义为char *):
- ++ p : >
–p : <
++ * p : +
– * p : -
putchar(* p): 。
*p = getchar(): ,
while(* p){ : [
} : ]
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.< +++[- >---< ]>--- .---- .<+++ ++++[ ->--- ----<
]>--- ----- ----- .<+++ ++++[ ->+++ ++++< ]>+++ ++.<+ +++++ +[->- -----
-<]>. <++++ ++++[ ->+++ +++++ <]>++ .<+++ [->-- -<]>- ----. <++++ +++[-
>---- ---<] >---- ----. +++++ +..++ +++.+ .<+++ [->-- -<]>- --.<+ +++++
+[->+ +++++ +<]>+ ++.++ +.+++ +++++ +.--- -.+++ ++.<+ ++[-> +++<] >++++
++.<
这两种加密方式的解密网站是同一个:
https://www.splitbrain.org/services/ook