羊城杯2022 WriteUp
羊城杯2022
Misc
where_is_secret
vig 提示维吉尼亚密码。 在线爆破。得到密码
解压picture.zip后得到 out.bmp。
读像素。后期给了加密方式,解密为字符高8位和低8位。组合起来转字符。
from PIL import Image
import string
words = string.digits + string.ascii_letters + '{}'
img = Image.open('out.bmp')
img = img.convert('RGB')
str = ''
x, y = img.size
for i in range(x):
for j in range(y):
rgb = img.getpixel((i, j))
m = (rgb[1] << 8) + rgb[2]
str += chr(m)
print(str)
flag在文件中, 正则提取一下,再手动删除没用的。
flag{h1d3_1n_th3_p1ctur3}
寻宝
看文件头 50 4b 03 04, 高低位换了位置。转换一下。
import numpy as np
ar = np.fromfile('寻宝', dtype='uint8')
b1 = (ar & 0xf0) >> 4
b2 = (ar & 0xf) << 4
fin = b1 + b2
fin.tofile('res.zip')
迷失幻境
diskgenius 恢复文件。
得到1-100.png文件和幻境文件。随便和一个用stegsolve, image combiner, 得到 key : 可莉前来报道
DASCTF{f473a6fd2de17a0c5794414b3905ebbe}