0x01
這玩意叫做brainfuck。胸完。。翘贮。赊窥。。
0x02
┼攠數(shù)畣整爠煥敵瑳∨燈捲≤┩>
這是一句話(huà)加密,可以ANSI --->unicode解碼狸页,把代碼保存到記事本另存為右下角有unicode編碼械蹋,保存后用winhex打開(kāi)就能看到正常的字符了
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_
那么慢显,現(xiàn)在該你解碼了......
這個(gè)竟然看出來(lái)是二進(jìn)制荚板,o代表1戴涝,下劃線(xiàn)代表0
0x03
Fair-Play密碼
密鑰:The quick brown fox jumps over the lazy dog!
ihxo{smzdodcikmodcismzd}
在線(xiàn)解密http://rumkin.com/tools/cipher/playfair.php
0x04轉(zhuǎn)盤(pán)密碼
密鑰: 2,5,1,3,6,4,9,7,8,14,10,13,11,12
密文:HCBTSXWCRQGLES
flag格式 flag{你解密的內(nèi)容}
比如第一個(gè)密鑰:2? 密文:H
把轉(zhuǎn)盤(pán)第二行單獨(dú)提出來(lái) ,從H的地方一直剪切斋竞,把剪切的內(nèi)容放在最前面倔约,變成2: <HGVSFUWIKPBELNACZDTRXMJQOY <
依次類(lèi)推把14行都按這樣的方式整一遍就得到這個(gè):
flag在倒數(shù)第六列。flag{XSXSBUGKUADMIN}
0x05替換密碼
簡(jiǎn)單的替換字母坝初,枚舉法浸剩,在線(xiàn)替換網(wǎng)站 ? http://quipqiup.com/
0x06AES密碼
密碼學(xué)里應(yīng)該挺常見(jiàn),可是我不認(rèn)得鳄袍。绢要。。
U2FsdGVkX1+qtU8KEGmMJwGgKcPUK3XBTdM+KhNRLHSCQL2nSXaW8++yBUkSylRp
要不是有+我鐵定死扣base64 ? 不過(guò)確實(shí)和base64挺像畦木。袖扛。。十籍。
在線(xiàn)解密http://tool.oschina.net/encrypt
0x06說(shuō)是base64
GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI===
python解一下很顯然不是,或許是base32呢
解出來(lái)是這個(gè)
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
變成了這樣唇礁。勾栗。。盏筐。什么鬼围俘。。琢融。界牡。
大神只用了這樣一句話(huà):base64.b32decode().decode('hex')
原來(lái)504354467b4a7573745f743373745f683476335f66346e7d
這個(gè)只十六進(jìn)制編碼。漾抬。宿亡。。纳令。哪有base64.挽荠。克胳。。圈匆。
0x07?? 2015廣強(qiáng)杯的經(jīng)典的凱撒
lrua{1uy3yj9l-yw9u-48j2-uuj8-36h03706y7u7}
既然知道是凱撒了解密吧漠另,好像事情并不是那么簡(jiǎn)單,
只有在6和20的地方拼接起來(lái)才是flag跃赚,原來(lái)是ascii碼是偶數(shù)時(shí)就加20或-6笆搓,是奇數(shù)時(shí)就-20或+6.。纬傲。砚作。。嘹锁。葫录。。mmp领猾,來(lái)個(gè)腳本
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