记录8道bugku的Crypto题目
作者:互联网
001 聪明的小羊
由题意很明显的得知该加密方式为栅栏加密,且栏数位2,使用解密工具得答案为:flag{6fde4163df05d900}。
002 ok
这是txt文件中给的信息:
由图片得出这是使用Ook加密过的文本内容。Ook! 与Brainfuck类似, 但用单词“Ook!”,“Ook.” 和“Ook?”代替。使用这个网站解码得答案为:flag{0a394df55312c51a}。
003 [+-<>]
由题目描述可知该加密方式为brainf**k加密,继续使用刚才的网站,可以得到答案为:flag{0d86208ac54fbf12};
Brainfuck 是一门非常简单甚至可以说是最简单的编程语言,它的语法由一个8个字符的字符集组成,即><+=.,[]
八个字符。brainfuck的模型还包括一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。
004 把猪困在猪圈里
这道题的提示不要太直接,由题目标题可以推测这种加密方式为猪圈加密,这是猪圈基本字母表:
一一比对,很容易得出答案。
005 你喜欢下棋吗
下载附件,是一个压缩包。打开压缩包,如图:
flag.zip文件存在一个解压密码,而解压密码似乎存在于右边txt文本中,细细观察可以发现,这串数字的每一位都小于5,再结合题目所说的”下棋“,可以得到这是用波利比奥斯棋盘加密的。
波利比奥斯棋盘如下:
一一比对,得到解压密码为:"thisispolybius",解压后,得到一个txt的文件,打开后,如下:
文本上说这是一种5bit的编码,诶?什么是5bit的编码,上网查找后发现这是博多密码,博多密码表如下所示:
一一对照,解出flag。
也可以利用这个网站解出flag:
ITA2 MSB这一栏即为博多解码的结果。
如果想详细了解博多密码的可以点这里--->:http://www.tuilixy.net/thread-101379-1-1.html
006 EN-气泡
看到题目,第一时间想到就是Bubble编码。
打开下载的文档,如图:
发现每五个字符串之间以-来分割。Bubble Babble Binary Data Encoding是由Antti Huima创建的一种编码方法,可以把二进制信息表示为由交替的元音和辅音组成的伪词(pseudo-words),主要用于密码指纹,其编码也具有内置的纠错和冗余。编码格式每5个字符中间以-来分隔。点开这个网站进性bubble解码,发现这是一个套着三层的密码,解码后得到如下结果:
007 你以为是md5吗
下载附件得到一个文本文档,截图如下:
发现串字符一共36列,所以一共35个字符。细细观察可得这个字符串最大的字母为f,而通过题目可知这串字符应该是通过md5加密的,但是长度为35,不符合md5的格式。
但是md5的组成是:32位字符串,字符串的字符位:0-9,a-f。可以看出这串字符有三个不在”a-f“之间的,删去后得到一个32位的字符串,在md5解码网站中得到flag。
008 easy_crypto
下载附件后,有一个文本文档,打开后,如下图:
发现这个字符串由“0”、“1”、“ ”组成,可以猜测这是一串“莫斯密码”,将0替换为“.”,1替换位“-”,代码如下:
#include<iostream> #define N 1005 using namespace std; int main() { int i=0; char a[N]="0010 0100 01 110 1111011 11 11111 010 000 0 001101 1010 111 100 0 001101 01111 000 001101 00 10 1 0 010 0 000 1 01111 10 11110 101011 1111101"; while(a[i]!='\0') { if(a[i]=='0') a[i]='.'; else if(a[i]=='1') a[i]='-'; i++; } cout<<a; }
得到的莫斯密码为:
利用解码网站可以得到flag。
标签:bugku,加密,解码,Crypto,Ook,flag,字符串,题目,md5 来源: https://www.cnblogs.com/to-be-a-better-self/p/14730853.html