0x01
这玩意叫做brainfuck。。。。。。
0x02
┼攠數畣整爠煥敵瑳∨灯捲≤┩>
这是一句话加密,可以ANSI --->unicode解码,把代码保存到记事本另存为右下角有unicode编码,保存后用winhex打开就能看到正常的字符了
0x03
o____o_
oo__o_o
oo_o__o
oo_o_o_
oo_o__o
oo_ooo_
oo__ooo
_o_ooo_
上面的磁带片段解码为:Beijing.
-----------------------------------------------------------------------------------------------------------------
o_o_ooo
oo_o___
oo__o_o
ooo__o_
oo__o_o
_o_____
ooo_o__
oo_o___
oo__o_o
ooo__o_
oo__o_o
_o_____
oo_o__o
ooo__oo
_o_____
oo____o
_o_____
ooo_ooo
oo_o__o
oo_oo__
oo_oo__
_o_oo__
ooo_o__
oo_o___
oo__o_o
ooo__o_
oo__o_o
_o_____
oo_o__o
ooo__oo
_o_____
oo____o
_o_____
ooo_ooo
oo____o
oooo__o
_o_ooo_
那么,现在该你解码了......
这个竟然看出来是二进制,o代表1,下划线代表0
0x03
Fair-Play密码
密钥:The quick brown fox jumps over the lazy dog!
ihxo{smzdodcikmodcismzd}
在线解密http://rumkin.com/tools/cipher/playfair.php
0x04转盘密码
密钥: 2,5,1,3,6,4,9,7,8,14,10,13,11,12
密文:HCBTSXWCRQGLES
flag格式 flag{你解密的内容}
比如第一个密钥:2 密文:H
把转盘第二行单独提出来 ,从H的地方一直剪切,把剪切的内容放在最前面,变成2: <HGVSFUWIKPBELNACZDTRXMJQOY <
依次类推把14行都按这样的方式整一遍就得到这个:
flag在倒数第六列。flag{XSXSBUGKUADMIN}
0x05替换密码
简单的替换字母,枚举法,在线替换网站 http://quipqiup.com/
0x06AES密码
密码学里应该挺常见,可是我不认得。。。
U2FsdGVkX1+qtU8KEGmMJwGgKcPUK3XBTdM+KhNRLHSCQL2nSXaW8++yBUkSylRp
要不是有+我铁定死扣base64 不过确实和base64挺像。。。。
在线解密http://tool.oschina.net/encrypt
0x06说是base64
GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI===
python解一下很显然不是,或许是base32呢
解出来是这个
504354467b4a7573745f743373745f683476335f66346e7d
又base64解一下
\xe7N7\xe7\x8e:\xed\xbe\x1a\xef\x9e\xf7\xef\x8e_\xef\x8d\xf7\xef~\xf8\xe5\xfe\xbc\xdf\x8e\xfa\xdf~_\xeb\xad\xf8\xe9\xee\xdd
变成了这样。。。。什么鬼。。。。
大神只用了这样一句话:base64.b32decode().decode('hex')
原来504354467b4a7573745f743373745f683476335f66346e7d
这个只十六进制编码。。。。。哪有base64.。。。。
0x07 2015广强杯的经典的凯撒
lrua{1uy3yj9l-yw9u-48j2-uuj8-36h03706y7u7}
既然知道是凯撒了解密吧,好像事情并不是那么简单,
只有在6和20的地方拼接起来才是flag,原来是ascii码是偶数时就加20或-6,是奇数时就-20或+6.。。。。。。。mmp,来个脚本
s='lrua{1uy3yj9l-yw9u-48j2-uuj8-36h03706y7u7}'
g=open("flag.txt","w")
for i in s:
if(i=='}' or i=='{' or i=='-' or (i>='0' and i<='9')):
g.write(i)
if(i>='a' and i <='z'):
if(ord(i)%2==0):
if(i<='f'):
g.write(chr(ord(i)+20))
else:
g.write(chr(ord(i)-6))
if(ord(i)%2!=0):
if(i>='u'):
g.write(chr(ord(i)-20))
else:
g.write(chr(ord(i)+6))
得到flag