bugku Crypto 下半部分wp
1.
百度托马斯这个人居然还发明了一种轮转的加密法,发现原理是,他将很多行乱序的26个字母,插到一根柱子上,参考糖葫芦的样子,可以旋转每一行,设置自己要发送的明文后,向对方发送乱码的一列,对方只要将这乱码一列还原,发现在其中一列中,就是原文。
密钥给的是每一行的顺序,跟着排下。
找到flag。
2.
zip分为数据区,目录区,目录结束,修改对应文件的全局标记为00,得到flag
3.
十六进制转字符串,转完后发现是base64,拿去解码,
看你的键盘,这些字符都围着谁。
4.
写个脚本就出来了。
with open("flag.txt") as f:
p=f.read()
tmp=p.split(" ")
flag=""
for i in tmp:
if i[0]=='d':
flag+=chr(int(i[1:]))
elif i[0]=='b':
flag+=chr(int(i[1:],2))
elif i[0]=='o':
flag+=chr(int(i[1:],8))
elif i[0]=='x':
flag+=chr(int(i[1:],16))
print(flag)
5.
base91编码,在线解密就出来了。
6.
python,这题还在研究中,有空再更。
affine加密可以百度一下,用脚本写出来
s="szzyfimhyzd"
flag=""
for i in s:
f=(ord(i)-ord('a')+8)*23
f%=26
flag+=chr(ord('a')+f)
print(flag)
打开后,发现有root,很像linux的命令,用kali中的john程序,进行unix的弱口令密码破解。
命令是john shadow
john --show shadow
9.
后续再更,刚刚把库装好,分解素数
10.
银河密码了解一下,今天比赛还碰到了。