原网址:ok - Bugku C台
描述:Ook.
分析:Ook密码
1.工具解密:
工具网址:Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]
2.手动解密:
(1)Ook转换成brainfuck:
brainfuck与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? Ook. Ook? Ook!
Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook.
根据对照表,将Ook密文转换为brainfuck密文:
+ + + + +
+ + + + +
[ - > + +
+ + + + +
+ + + < ]
> + + . +
即:
+++++ +++++ [->++ +++++ +++<] >++.+
(2)brainfuck转换成明文:
brainfuck原理:
> —— 右移
< —— 左移
+ —— 把这个字节的数据+1
- —— 把这个字节的数据-1
. —— 输出当前的字节
[] —— 用于循环(当所在的字节等于0就跳过循环,不等于0就一直执行[]中的代码。跳出循环则使用>)(注意:初始字节为0)
由(1)可知brainfuck的密文为:
+++++ +++++ [->++ +++++ +++<] >++.+
brainfuck转换成明文的过程:
① ②
10-1=9 10
9-1=8 10+10=20
8-1=7 20+10=30
7-1=6 30+10=40
6-1=5 40+10=50
5-1=4 50+10=60
4-1=3 60+10=70
3-1=2 70+10=80
2-1=1 80+10=90
1-1=0 90+10=100
0 100+1+1=102
由ASCII码可知,十进制102对应字符f,因此brainfuck密文被转换成明文:
f
3.相关资料:
少年,会写“Hello,World”吗?_哔哩哔哩_bilibili
Ook! Programming Language - Esoteric Code Decoder, Online Translator
4.同类题目:
[+-<>] - Bugku CTF平台(brainfuck)
.!? - Bugku CTF平台(Ook的简化版)