[NCTF 2022]zystego
在图片的末尾发现冗余压缩包数据,提取出来得到
发现有一个冗余的压缩包,提取出来得到的压缩包为加密的
没有任何密码的提示优先考虑是伪加密或者是纯数字加密
试图暴力破解得到密码:114514
得到的flag.txt中为一段加密的字符串(解出来是假的flag),something中一堆base(PGP加密还需要得到密钥)
仔细观察之前的图片会发现图片的旁边多了点东西
多出来的是三列像素????怎么看的哇,拿刀来杀了我
写个脚本将像素提取出来看
from PIL import Image
im = Image.open('fd.png')
pix = im.load()
width = im.size[0]
height = im.size[1]
for x in range(height):
for y in range(width-3,width):
r,g,b = pix[y,x]
print(r,g,b)
得到一堆数据,有一个点就是这里可能有一点点的脑洞,可以发现这些数的个位都是5或0,容易联系到二进制,所以可以写个脚本转一下(痛苦面具了家人们)
def convert_data(num):
if num % 10 == 0:
return 0
elif num % 10 == 5:
return 1
else:
return num
# 示例数据
data = [230, 215, 225, 220, 225, 220, 220, 235, 230, 225, 205, 220, 205, 205, 210, 205, 200, 215, 235, 235, 230, 230, 210, 220, 200, 225, 225, 230, 235, 215, 205, 235, 230, 215, 215, 235, 230, 230, 235, 230, 210, 215, 225, 225, 220, 225, 220, 220, 200, 230, 215, 200, 230, 220, 210, 230, 210, 205, 215, 205, 210, 220, 235, 215, 220, 205, 225, 230, 220, 235, 230, 215, 220, 225, 215, 220, 230, 210, 225, 205, 220, 225, 215, 225, 210, 210, 235, 210, 200, 235, 205, 210, 200, 235, 230, 215, 220, 235, 205, 225, 210, 205, 230, 210, 220, 210, 230, 220, 225, 225, 210, 215, 220, 210, 230, 210, 215, 220, 225, 220, 210, 210, 200, 220, 205, 205, 220, 225, 210, 230, 210, 230, 225, 230, 215, 230, 225, 225, 215, 230, 210, 235, 210, 200, 215, 210, 235, 225, 205, 200, 220, 230, 235, 210, 200, 200, 220, 220, 220, 215, 225, 235, 225, 230, 200, 215, 205, 235, 235, 220, 210, 215, 235, 205, 200, 200, 215, 220, 210, 215, 215, 235, 225, 235, 220, 220, 235, 230, 200, 230, 210, 210, 230, 200, 225, 225, 205, 205, 220, 215, 220, 230, 225, 230, 210, 210, 200, 200, 220, 215, 225, 210, 205, 235, 205, 230, 210, 215, 235, 235, 230, 220, 220, 220, 200, 200, 235, 200, 205, 235, 215, 200, 200, 205, 225, 230, 200, 235, 205, 220, 200, 235, 215, 220, 235, 225, 200, 220, 210, 215, 205, 210, 225, 205, 225, 205, 220, 225, 215, 210, 220, 200, 200, 215, 230, 235, 215, 225, 220, 215, 220, 200, 220, 220, 205, 205, 210, 220, 235, 235, 220, 200, 225, 225, 220, 210, 215, 210, 200, 210, 205, 210, 215, 220, 200, 210, 230, 235, 225, 220, 200, 220, 225, 235, 220, 205, 225, 205, 210, 205, 205, 210, 200, 220, 235, 235, 200, 230, 205, 220, 220, 210, 235, 230, 225, 235, 225, 220, 200, 235, 225, 230, 235, 200, 220, 225, 220, 225, 235, 230, 205, 225, 210, 235, 230, 215, 225, 215, 230, 220, 215, 230, 220, 235, 205, 210, 200, 225, 230, 225, 210, 225, 225, 200, 210, 230, 220, 205, 210, 235, 205, 220, 200, 205, 200, 220, 230, 220, 215, 200, 205, 210, 230, 210, 210, 215, 225, 215, 210, 200, 225, 220, 220, 230, 235, 200, 200, 200, 235, 200, 230, 205, 220, 210, 210, 230, 205, 215, 230, 220, 235, 215, 205, 220, 205, 220, 220, 235, 200, 235, 205, 215, 210, 230, 210, 225, 200, 225, 210, 215, 220, 215, 210, 205, 205, 235, 230, 210, 225, 205, 220, 225, 215, 200, 210, 205, 220, 235, 230, 225, 225, 215, 200, 210, 235, 220, 230, 205, 205, 215, 220, 200, 235, 205, 200, 225, 200, 205, 205, 205, 200, 230, 210, 220, 215, 225, 200, 230, 200, 215, 220, 210, 235, 235, 230, 225, 225, 230, 230, 220, 215, 215, 210, 230, 225, 205, 210, 230, 235, 205, 210, 200, 225, 225, 210, 230, 205, 215, 220, 225, 230, 210, 220, 205, 210, 215, 225, 215, 200, 200, 230, 235, 200, 210, 220, 205, 200, 220, 200, 215, 205, 230, 220, 225, 220, 215, 230, 205, 215, 205, 230, 220, 225, 215, 220, 225, 225, 210, 225, 220, 215, 225, 230, 215, 215, 215, 200, 235, 210, 210, 220, 225, 205, 210, 215, 215, 235, 235, 210, 215, 205, 225, 210, 210, 210, 210, 200, 225, 210, 225, 215, 225, 230, 200, 200, 235, 205, 220, 230, 215, 205, 220, 200, 205, 225, 200, 230, 220, 210, 205, 230, 225, 215, 210, 220, 235, 200, 200, 200, 235, 215, 220, 235, 210, 200, 215, 200, 215, 225, 220, 220, 220, 230, 225, 230, 225, 215, 220, 205, 215, 225, 200, 230, 200, 215, 200, 235, 235, 215, 210, 220, 235, 205, 225, 200, 220, 220, 210, 220, 225, 215, 220, 215, 235, 225, 210, 220, 215, 225, 230, 200, 215, 225, 225, 220, 220, 205, 230, 200, 200, 215, 230, 200, 200, 235, 200, 235, 235, 230, 210, 220, 210, 225, 230, 200, 210, 230, 220, 200, 200, 225, 235, 210, 220, 210, 235, 230, 220, 205, 210, 205, 220, 230, 205, 200, 200, 235, 230, 225, 200, 230, 235, 230, 200, 200, 200, 235, 235, 200, 215, 230, 230, 210, 220, 235, 210, 225, 210, 230, 200, 220, 230, 225, 225, 230, 235, 220, 220, 230, 210, 205, 200, 215, 230, 210, 225, 225, 230, 210, 205, 205, 200, 220, 225, 215, 230, 205, 215, 205, 205, 220, 205, 205, 205, 230, 200, 215, 220, 210, 230, 235, 230, 210, 230, 220, 200, 230, 225, 225, 230, 225, 220, 220, 225, 220, 210, 225, 230, 230, 230, 230, 200, 200, 225, 205, 220, 225, 210, 210, 215, 200, 235, 225, 230, 205, 215, 215, 230, 230, 220, 235, 220, 200, 200, 210, 220, 220, 235, 205, 205, 200, 210, 225, 220, 220, 205, 205, 220, 220, 200, 210, 205, 220, 235, 215, 210, 215, 225, 215, 220, 220, 235, 225, 220, 220, 205, 235, 235, 220, 235, 205, 230, 200, 235, 230, 215, 230, 200, 225, 230, 235, 210, 210, 220, 210, 220, 225, 215, 220, 215, 205, 200, 220, 200, 215, 225, 220, 215, 200, 210, 220, 230, 215, 230, 225, 230, 220, 215, 220, 220, 235, 215, 235, 230, 235, 210, 220, 230, 210, 200, 225, 205, 200, 225, 230, 230, 200, 220, 205, 210, 235, 220, 230, 200, 220, 230, 225, 220, 230, 205, 210, 225, 215, 200, 200, 225, 205, 210, 220, 235, 205, 210, 205, 235, 215, 205, 200, 215, 235, 205, 200, 200, 235, 210, 220, 230, 215, 230, 210, 200, 220, 210, 210, 225, 215, 200, 205, 230, 235, 210, 220, 220, 225, 210, 220, 220, 230, 230, 230, 215, 235, 230, 205, 200, 230, 225, 210, 225, 215, 200, 205, 225, 215, 220, 210, 220, 205, 200, 200, 230, 210, 200, 230, 205, 215, 235, 230, 210, 225, 200, 230, 225, 235, 200, 210, 230, 230, 215, 230, 225, 235, 200, 225, 225, 225, 210, 200, 225, 205, 200, 230, 235, 215, 235, 230, 225, 225, 200, 200, 205, 210, 215, 200, 210, 215, 200, 215, 220, 230, 230, 200, 230, 235, 235, 210, 205, 225, 230, 230, 220, 235, 225, 200, 235, 210, 230, 200, 230, 235, 230, 235, 200, 200, 205, 220, 220, 205, 225, 215, 220, 225, 210, 230, 210, 220, 230, 205, 225, 200, 215, 200, 230, 210, 230, 235, 220, 205, 200, 230, 230, 220, 210, 235, 220, 220, 225, 230, 200, 200, 220, 215, 230, 220, 215, 215, 215, 235, 210, 225, 200, 200, 210, 205, 200, 200, 220, 215, 230, 225, 210, 215, 220, 230, 225, 205, 235, 220, 225, 235, 235, 215, 210, 210, 235, 200, 235, 235, 200, 215, 220, 210, 210, 215, 235, 225, 210, 205, 210, 215, 200, 225, 235, 210, 210, 215, 220, 200, 230, 210, 200, 220, 220, 225, 215, 235, 235, 220, 225, 230, 200, 235, 200, 210, 220, 220, 210, 220, 215, 215, 215, 200, 200, 215, 210, 210, 225, 215, 220, 230, 230, 200, 205, 200, 225, 235, 210, 235, 215, 215, 230, 230, 205, 235, 200, 220, 225, 210, 210, 230, 235, 205, 210, 235, 200, 220, 215, 220, 205, 205, 210, 235, 205, 215, 200, 210, 215, 225, 225, 200, 235, 200, 200, 200, 210, 235, 220, 225, 220, 200, 210, 200, 230, 205, 215, 220, 210, 210, 230, 200, 220, 235, 220, 225, 225, 200, 230, 220, 220, 235, 225, 220, 200, 235, 200, 210, 210, 235, 210, 225, 210, 230, 205, 200, 200, 210, 220, 215, 205, 200, 225, 200, 230, 210, 200, 235, 220, 215, 220, 210, 210, 200, 220, 235, 210, 230, 235, 220, 220, 200, 230, 225, 210, 210, 225, 215, 235, 205, 200, 210, 215, 200, 225, 235, 220, 235, 225, 200, 230, 210, 230, 225, 230, 220, 200, 205, 235, 235, 205, 225, 215, 205, 220, 225, 200, 210, 235, 235, 220, 235, 200, 235, 210, 230, 225, 235, 210, 225, 200, 225, 215, 230, 200, 225, 215, 235, 210, 210, 235, 215, 235, 225, 200, 220, 210, 235, 235, 205, 205, 205, 210, 230, 200, 225, 235, 230, 215, 215, 205, 235, 220, 230, 215, 235, 225, 205, 220, 210, 220, 205, 205, 215, 225, 225, 220, 215, 200, 230, 210, 200, 220, 230, 200, 235, 220, 230, 230, 210, 210, 200, 200, 205, 215, 215, 215, 200, 215, 230, 220, 235, 200, 220, 210, 200, 210, 225, 215, 235, 200, 210, 205, 220, 200, 215, 210, 225, 215, 205, 230, 220, 210, 235, 230, 230, 200, 210, 230, 200, 225, 205, 215, 225, 220, 210, 225, 225, 235, 235, 210, 200, 235, 225, 225, 200, 210, 215, 220, 200, 215, 235, 205, 225, 215, 220, 215, 200, 225, 235, 210, 215, 215, 220, 210, 215, 205, 235, 210, 205, 210, 200, 220, 235, 210, 225, 235, 200, 200, 200, 230, 215, 230, 230, 230, 220, 230, 200, 220, 205, 225, 225, 220, 225, 210, 210, 210, 215, 220, 235, 205, 210, 200, 220, 210, 235, 200, 210, 230, 220, 230, 215, 215, 225, 230, 235, 230, 220, 200, 205, 200, 220, 230, 215, 210, 225, 220, 215, 230, 230, 235, 235, 235, 230, 225, 235, 225, 235, 230, 220, 235, 230, 205, 235, 210, 215, 210, 200, 210, 235, 205, 205, 220, 215, 200, 215, 220, 225, 235, 200, 215, 230, 225, 235, 235, 210, 225, 200, 220, 220, 220, 235, 205, 220, 225, 200, 200, 210, 200, 235, 220, 235, 220, 210, 230, 220, 200, 205, 200, 200, 205, 230, 220, 230, 210, 205, 230, 220, 235, 215, 235, 225, 220, 215, 230, 220, 215, 205, 220, 220, 225, 205, 220, 235, 235, 215, 220, 225, 200, 235, 230, 235, 200, 235, 225, 225, 200, 205, 230, 220, 210, 205, 210, 205, 235, 220, 230, 200, 235, 215, 210, 225, 205, 235, 230, 200, 205, 230, 230, 225, 200, 200, 200, 210, 200, 200, 220, 205, 235, 225, 215, 220, 225, 210, 210, 235, 220, 220, 200, 230, 200, 220, 235, 215, 230, 210, 220, 225, 215, 210, 205, 205, 215, 210, 215, 215, 220, 220, 220, 225, 235, 210, 220, 225, 210, 220, 230, 215, 210, 225, 235, 235, 230, 220, 235, 215, 200, 220, 205, 200, 200, 220, 215, 235, 220, 210, 210, 205, 225, 210, 205, 215, 205, 220, 225, 230, 200, 200, 220, 205, 230, 205, 200, 220, 220, 225, 235, 215, 230, 230, 215, 200, 235, 235, 220, 235, 225, 200, 200, 220, 200, 225, 210, 210, 220, 205, 215, 205, 235, 225, 205, 235, 230, 225, 230, 220, 215, 225, 200, 235, 220, 215, 200, 230, 215, 235, 210, 215, 230, 205, 215, 210, 230, 235, 205, 235, 220, 220, 205, 235, 235, 235, 230, 230, 230, 225, 235, 235, 235, 235, 200, 210, 200, 205, 205, 230, 205, 235, 235, 235, 230, 220, 205, 225, 225, 205, 220, 200, 220, 205, 215, 235, 205, 215, 200, 235, 210, 220, 200, 230, 230, 230, 225, 220, 215, 205, 230, 225, 235, 200, 210, 205, 205, 235, 200, 210, 210, 230, 220, 215, 210, 215, 200, 205, 220, 210, 235, 215, 220, 225, 230, 230, 235, 220, 230, 215, 205, 235, 200, 225, 230, 230, 210, 205, 225, 225, 220, 220, 210, 200, 220, 215, 200, 215, 230, 215, 220, 200, 205, 205, 200, 215, 200, 210, 235, 230, 230, 225, 220, 225, 230, 225, 205, 220, 220, 205, 225, 205, 230, 230, 220, 230, 220, 235, 200, 205, 205, 200, 220, 200, 230, 235, 230, 230, 230, 220, 200, 200, 220, 235, 215, 205, 230, 220, 220, 220, 220, 205, 220, 225, 230, 225, 230, 200, 235, 225, 220, 205, 220, 215, 200, 210, 220, 235, 215, 205, 220, 205, 200, 200, 200, 205, 215, 205, 220, 220, 200, 230, 210, 215, 210, 205, 200, 205, 200, 230, 225, 215, 220, 215, 210, 225, 200, 200, 230, 235, 230, 235, 230, 215, 225, 220, 220, 215, 215, 225, 230, 230, 220, 200, 205, 230, 235, 215, 215, 210, 205, 200, 210, 215, 230, 235, 230, 220, 235, 230, 210, 200, 230, 215, 235, 220, 225, 230, 210, 230, 200, 215, 220, 235, 200, 200, 210, 220, 220, 205, 200, 230, 215, 200, 210, 210, 230, 205, 220, 200, 235, 230, 235, 235, 210, 225, 200, 220, 205, 200, 205, 215, 200, 210, 215, 225, 220, 230, 220, 205, 230, 235, 200, 230, 200, 200, 205, 215, 205, 230, 230, 235, 205, 210, 205, 205, 230, 210, 235, 220, 235, 200, 205, 225, 200, 220, 220, 205, 215, 230, 215, 235, 215, 210, 220, 225, 220, 210, 215, 235, 220, 200, 205, 200, 235, 210, 205, 205, 225, 230, 235, 230, 210, 210, 225, 210, 225, 205, 200, 235, 225, 230, 235, 235, 210, 225, 220, 200, 215, 230, 230, 205, 220, 215, 220, 225, 210, 230, 200, 215, 225, 200, 205, 235, 200, 210, 200, 225, 215, 200, 215, 220, 230, 210, 200, 205, 210, 205, 210, 215, 235, 230, 225, 205, 230, 215, 210, 205, 220, 200, 205, 220, 215, 215, 205, 210, 205, 200, 220, 205, 210, 230, 220, 220, 230, 230, 210, 235, 235, 225, 235, 210, 225, 230, 210, 235, 225, 205, 225, 230, 205, 220, 230, 205, 200, 220, 220, 200, 220, 200, 210, 235, 230, 210, 215, 225, 225, 200, 220, 235, 205, 210, 230, 210, 215, 220, 200, 235, 230, 230, 235, 225, 215, 200, 230, 225, 230, 205, 220, 210, 215, 220, 200, 225, 205, 215, 200, 205, 200, 230, 220, 210, 210, 205, 225, 220, 205, 200, 230, 220, 220, 235, 220, 225, 220, 230, 210, 210, 220, 225, 210, 210, 205, 200, 210, 210, 200, 215, 220, 200, 205, 220, 230, 200, 210, 215, 200, 200, 205, 235, 205, 215, 210, 225, 210, 220, 235, 235, 230, 220, 225, 225, 230, 225, 225, 205, 210, 215, 200, 235, 210, 225, 210, 235, 235, 205, 230, 235, 230, 210, 230, 205, 230, 205, 225, 230, 220, 210, 235, 205, 200, 215, 225, 225, 220, 210, 235, 200, 225, 230, 205, 215, 230, 235, 235, 210, 200, 205, 225, 220, 215, 235, 225, 210, 210, 215, 210, 225, 225, 200, 200, 230, 230, 205, 235, 220, 225, 215, 235, 230, 205, 210, 205, 225, 225, 220, 225, 210, 230, 205, 210, 220, 220, 210, 220, 220, 210, 225, 215, 205, 205, 230, 225, 220, 210, 235, 200, 210, 230, 220, 230, 210, 220, 225, 205, 230, 230, 225, 220, 200, 200, 235, 215, 230, 200, 200, 230, 230, 220, 200, 210, 205, 235, 230, 225, 220, 200, 220, 230, 235, 210, 215, 210, 230, 230, 200, 230, 215, 230, 210, 215, 220, 220, 220, 230, 235, 210, 220, 205, 210, 225, 215, 210, 230, 205, 230, 225, 230, 215, 225, 220, 205, 205, 200, 230, 220, 225, 235, 220, 205, 230, 210, 225, 200, 215, 235, 210, 210, 235, 235, 210, 200, 200, 215, 210, 215, 200, 210, 220, 200, 235, 225, 225, 210, 210, 225, 225, 200, 235, 235, 200, 230, 235, 200, 235, 210, 225, 235, 220, 210, 230, 235, 215, 220, 235, 215, 215, 210, 200, 205, 230, 200, 225, 225, 230, 230, 225, 200, 205, 210, 225, 215, 225, 220, 205, 210, 210, 230, 235, 200, 205, 225, 210, 205, 215, 230, 225, 225, 220, 235, 200, 210, 235, 230, 210, 205, 220, 235, 230, 205, 200, 230, 200, 225, 215, 230, 225, 225, 210, 220, 220, 235, 235, 210, 205, 200, 200, 210, 220, 215, 220, 225, 210, 205, 215, 220, 215, 205, 220, 235, 230, 225, 230, 230, 235, 230, 235, 235, 215, 200, 235, 230, 210, 235, 210, 200, 220, 220, 230, 230, 220, 235, 235, 225, 205, 220, 215, 210, 220, 205, 205, 235, 205, 230, 215, 210, 230, 205, 220, 210, 200, 220, 210, 230, 200, 225, 220, 230, 235, 205, 225, 210, 220, 225, 225, 230, 230, 230, 220, 210, 200, 235, 220, 200, 215, 215, 235, 230, 210, 215, 200, 235, 220, 210, 225, 210, 220, 235, 235, 235, 230, 225, 210, 210, 210, 210, 210, 215, 215, 230, 235, 220, 230, 220, 220, 215, 200, 205, 210, 220, 220, 210, 230, 225, 210, 220, 225, 230, 230, 230, 210, 215, 220, 210, 205, 210, 210, 210, 210, 215, 220, 230, 215, 215, 235, 215, 210, 205, 200, 210, 225, 235, 230, 200, 215, 205, 200, 205, 205, 205, 220, 235, 200, 235, 230, 205, 200, 215, 235, 235, 210, 205, 230, 230, 220, 235, 200, 235, 225, 230, 220, 200, 235, 205, 200, 235, 215, 215, 210, 220, 235, 210, 235, 200, 215, 225, 210, 215, 235, 230, 210, 235, 235, 230, 205, 225, 235, 230, 230, 205, 230, 205, 215, 210, 230, 200, 200, 205, 225, 200, 205, 205, 215, 200, 205, 200, 205, 225, 215, 210, 215, 220, 230, 215, 220, 210, 230, 230, 200, 220, 230, 225, 215, 225, 215, 210, 205, 210, 220, 215, 220, 210, 210, 220, 220, 200, 200, 215, 210, 205, 235, 230, 205, 220, 230, 225, 235, 200, 200, 205, 210, 200, 220, 225, 235, 220, 210, 220, 220, 200, 230, 210, 200, 225, 225, 200, 205, 210, 230, 230, 200, 225, 220, 215, 230, 230, 230, 230, 220, 225, 210, 200, 225, 210, 210, 200, 230, 235, 210, 220, 235, 225, 205, 205, 220, 230, 235, 230, 235, 215, 220, 225, 215, 210, 230, 230, 200, 205, 220, 230, 230, 205, 215, 235, 235, 225, 205, 225, 210, 215, 200, 200, 205, 205, 230, 235, 200, 235, 210, 220, 235, 215, 230, 225, 230, 215, 225, 200, 220, 205, 205, 235, 210, 200, 225, 225, 215, 225, 230, 230, 220, 225, 215, 235, 235, 205, 210, 210, 210, 235, 205, 200, 215, 215, 205, 215, 200, 230, 225, 215, 205, 215, 220, 200, 220, 225, 225, 235, 215, 205, 200, 235, 230, 200, 230, 200, 230, 230, 205, 210, 235, 205, 220, 205, 215, 220, 210, 225, 225, 235, 220, 230, 210, 200, 200, 235, 210, 225, 230, 215, 210, 230, 215, 235, 220, 215, 200, 220, 215, 230, 210, 215, 225, 235, 230, 235, 200, 200, 210, 215, 225, 205, 220, 200, 230, 200, 200, 205, 220, 235, 220, 235, 200, 220, 225, 235, 230, 235, 200, 200, 235, 200, 220, 205, 230, 205, 220, 215, 205, 210, 210, 215, 215, 215, 210, 230, 230, 220, 230, 215, 230, 215, 235, 220, 200, 230, 210, 215, 230, 220, 230, 210, 200, 230, 200, 225, 205, 235, 210, 230, 220, 220, 230, 235, 200, 225, 200, 235, 230, 230, 235, 215, 220, 235, 220, 225, 230, 200, 210, 225, 225, 225, 210, 215, 230, 200, 230, 205, 225, 225, 200, 220, 230, 220, 230, 235, 230, 235, 230, 235, 200, 220, 205, 215, 220, 235, 200, 235, 210, 220, 230, 205, 220, 225, 230, 235, 215, 220, 230, 235, 215, 225, 200, 220, 210, 220, 205, 230, 235, 225, 225, 230, 205, 200, 230, 235, 210, 230, 200, 210, 230, 210, 210, 205, 215, 235, 235, 200, 215, 230, 210, 235, 210, 210, 230, 200, 210, 210, 205, 225, 200, 220, 230, 225, 205, 200, 205, 225, 215, 210, 225, 235, 220, 210, 200, 215, 205, 230, 210, 225, 220, 220, 230, 225, 210, 215, 205, 205, 230, 220, 235, 215, 200, 205, 230, 220, 225, 230, 215, 205, 220, 220, 235, 220, 200, 200, 225, 225, 220, 220, 220, 215, 235, 210, 215, 215, 215, 200, 205, 220, 230, 230, 210, 235, 230, 235, 220, 210, 220, 215, 205, 225, 230, 205, 230, 200, 235, 215, 220, 210, 215, 235, 220, 205, 205, 235, 200, 225, 230, 215, 210, 215, 200, 225, 225, 215, 200, 225, 220, 200, 230, 205, 200, 235, 235, 210, 220, 210, 215, 235, 230, 215, 205, 215, 220, 230, 225, 210, 220, 215, 210, 215, 230, 200, 235, 230, 220, 220, 210, 225, 235, 230, 225, 200, 230, 230, 230, 215, 230, 235, 200, 220, 210, 210, 210, 205, 200, 220, 205, 220, 230, 200, 220, 215, 200, 200, 235, 235, 225, 225, 230, 200, 225, 220, 220, 225, 210, 215, 225, 235, 230, 210, 230, 205, 210, 220, 230, 230, 220, 200, 205, 235, 205, 235, 210, 220, 235, 225, 215, 225, 200, 210, 205, 215, 225, 220, 220, 215, 210, 210, 225, 205, 235, 215, 235, 210, 215, 230, 235, 235, 230, 205, 215, 210, 210, 235, 215, 235, 200, 225, 220, 210, 200, 235, 200, 225, 235, 230, 210, 210, 230, 235, 220, 220, 200, 210, 210, 210, 210, 205, 225, 205, 230, 205, 220, 230, 200, 215, 230, 205, 225, 230, 200, 220, 220, 235, 230, 210, 220, 200, 210, 205, 225, 225, 230, 205, 220, 220, 210, 225, 220, 220, 220, 205, 220, 225, 200, 235, 220, 230, 235, 205, 225, 200, 215, 225, 205, 205, 220, 220, 215, 200, 205, 235, 200, 225, 210, 220, 220, 215, 225, 215, 230, 225, 220, 225, 200, 215, 235, 220, 235, 220, 215, 205, 205, 220, 225, 220, 220, 215, 210, 200, 230, 220, 200, 230, 200, 215, 205, 225, 225, 230, 235, 200, 200, 235, 230, 220, 220, 200, 210, 235, 235, 205, 220, 210, 205, 210, 235, 225, 230, 215, 235, 230, 220, 230, 200, 225, 210, 200, 230, 205, 235, 235, 235, 235, 225, 215, 220, 205, 200, 200, 235, 205, 210, 225, 200, 235, 200, 210, 235, 235, 220, 235, 220, 205, 225, 210, 200, 235, 225, 215, 220, 210, 205, 235, 205, 225, 220, 230, 200, 205, 215, 235, 225, 225, 200, 200, 200, 205, 235, 220, 205, 225, 215, 215, 210, 210, 205, 225, 235, 205, 220, 200, 220, 215, 205, 225, 205, 235, 210, 235, 220, 210, 210, 200, 210, 200, 200, 230, 200, 235, 225, 230, 235, 220, 210, 200, 230, 205, 210, 225, 230, 210, 230, 200, 200, 205, 235, 200, 205, 210, 230, 210, 220, 215, 210, 215, 220, 220, 215, 225, 230, 230, 210, 235, 215, 210, 235, 215, 215, 220, 235, 215, 220, 230, 230, 225, 225, 200, 210, 215, 220, 220, 220, 205, 230, 205, 205, 225, 200, 210, 215, 225, 220, 205, 230, 200, 205, 230, 225, 235, 230, 205, 205, 220, 225, 210, 235, 215, 235, 210, 225, 225, 205, 230, 235, 225, 215, 210, 200, 235, 220, 210, 235, 215, 220, 215, 210, 230, 215, 200, 225, 205, 235, 220, 215, 230, 200, 220, 225, 235, 220, 220, 215, 220, 205, 210, 230, 225, 220, 205, 220, 200, 230, 230, 215, 235, 215, 200, 220, 205, 220, 210, 230, 205, 210, 200, 200, 225, 200, 200, 235, 220, 220, 210, 230, 205, 215, 200, 220, 225, 205, 235, 210, 205, 220, 220, 235, 230, 215, 235, 215, 210, 220, 210, 205, 230, 215, 200, 235, 200, 205, 200, 215, 205, 205, 230, 210, 235, 225, 220, 205, 235, 230, 220, 215, 220, 215, 200, 215, 215, 225, 210, 230, 205, 210, 210, 215, 235, 205, 230, 210, 215, 205, 200, 205, 230, 235, 235, 225, 230, 200, 220, 210, 205, 205, 200, 230, 220, 205, 200, 210, 225, 215, 230, 225, 235, 230, 220, 230, 215, 215, 230, 200, 215, 235, 210, 230, 215, 235, 230, 200, 235, 205, 230, 230, 205, 215, 210, 225, 210, 230, 200, 205, 220, 215, 235, 215, 200, 210, 200, 215, 220, 220, 230, 225, 210, 230, 230, 215, 235, 200, 220, 225, 210, 225, 210, 225, 225, 235, 200, 210, 225, 225, 200, 225, 225, 210, 205, 210, 205, 205, 220, 235, 235, 215, 220, 225, 220, 210, 200, 205, 225, 200, 205, 225, 235, 235, 210, 235, 235, 205, 200, 220, 200, 230, 230, 225, 210, 215, 225, 235, 200, 200, 210, 235, 235, 230, 230, 205, 215, 230, 230, 205, 205, 200, 200, 215, 210, 220, 210, 220, 215, 230, 205, 235, 215, 210, 210, 235, 235, 225, 200, 220, 200, 230, 200, 225, 225, 200, 235, 235, 235, 210, 200, 235, 225, 220, 200, 225, 235, 235, 200, 200, 205, 210, 200, 230, 225, 220, 210, 220, 225, 200, 225, 225, 230, 220, 220, 200, 235, 210, 200, 200, 200, 210, 235, 235, 225, 220, 210, 215, 210, 210, 215, 230, 205, 205, 225, 210, 230, 200, 235, 230, 220, 200, 210, 230, 230, 215, 205, 215, 235, 200, 210, 225, 225, 205, 205, 210, 230, 235, 215, 215, 200, 210, 205, 210, 220, 205, 205, 225, 205, 225, 230, 230, 215, 220, 215, 200, 210, 205, 220, 230, 210, 220, 235, 235, 200, 235, 220, 220, 230, 230, 215, 220, 225, 230, 210, 220, 225, 210, 200, 220, 225, 225, 230, 225, 235, 220, 210, 200, 200, 225, 210, 200, 205, 230, 220, 220, 230, 230, 220, 235, 235, 230, 200, 205, 225, 205, 220, 215, 215, 200, 235, 230, 220, 225, 210, 235, 215, 200, 220, 205, 215, 210, 230, 205, 215, 215, 220, 215, 230, 200, 210, 230, 225, 210, 210, 230, 210, 220, 210, 235, 225, 210, 200, 205, 225, 220, 220, 225, 225, 220, 235, 225, 235, 205, 220, 235, 205, 215, 210, 200, 215, 230, 200, 210, 205, 230, 210, 230, 200, 210, 200, 215, 225, 235, 215, 230, 230, 235, 210, 235, 215, 210, 225, 215, 215, 235, 230, 215, 225, 205, 210, 235, 210, 205, 210, 200, 225, 220, 210, 220, 230, 210, 220, 200, 215, 215, 205, 200, 225, 230, 200, 210, 225, 200, 230, 220, 210, 210, 220, 230, 205, 200, 230, 205, 200, 235, 210, 200, 205, 230, 200, 205, 200, 230, 230, 230, 215, 220, 210, 220, 235, 205, 230, 230, 225, 220, 210, 205, 200, 215, 230, 210, 225, 210, 220, 205, 200, 220, 220, 220, 215, 230, 230, 200, 235, 235, 230, 215, 225, 200, 215, 210, 235, 210, 200, 225, 215, 220, 235, 200, 210, 220, 220, 235, 235, 210, 230, 225, 215, 205, 200, 215, 225, 220, 210, 210, 220, 225, 210, 235, 225, 225, 220, 230, 205, 215, 210, 225, 235, 230, 230, 225, 200, 200, 200, 225, 225, 230, 200, 225, 225, 200, 200, 205, 225, 220, 220, 235, 215, 205, 220, 200, 205, 205, 230, 205, 215, 235, 200, 220, 235, 225, 220, 235, 215, 230, 230, 220, 205, 225, 220, 200, 225, 215, 230, 210, 215, 205, 200, 235, 200, 230, 230, 200, 225, 205, 210, 230, 235, 200, 200, 205, 215, 215, 210, 225, 230, 200, 230, 200, 230, 200, 220, 230, 230, 220, 210, 200, 200, 210, 200, 220, 210, 210, 220, 200, 220, 230, 200, 230, 220, 220, 210, 220, 230, 220, 230, 200, 210, 220, 220, 210, 220, 230, 230, 220, 220, 210, 200, 200, 230, 220, 210, 200, 200, 220, 230, 220, 220, 230, 230, 220, 210, 200, 220, 200, 210, 200, 230, 200, 210, 200, 220, 210, 220, 200, 210, 220, 220, 220, 200, 230, 230, 210, 220, 210, 200, 230, 230, 200, 200, 220, 230, 200, 210, 230, 230, 220, 230, 220, 230, 210, 200, 210, 210, 210, 230, 220, 200, 220, 220, 220, 230, 210, 200, 200, 220, 230, 220, 220, 200, 210, 200, 200, 230, 200, 210, 200, 200, 210, 220, 220, 230, 220, 220, 210, 220, 230, 230, 200, 230, 210, 220, 210, 200, 220, 200, 200, 230, 210, 200, 200, 210, 210, 220, 210, 220, 220, 210, 200, 200, 200, 210, 210, 200, 230, 220, 200, 230, 210, 210, 210, 230, 200, 200, 220, 200, 200, 200, 200, 210, 230, 230, 210, 200, 210, 210, 230, 220, 210, 210, 230, 210, 230, 210, 230, 230, 210, 230, 210]
# 转换数据
converted_data = [convert_data(num) for num in data]
converted_list = list(converted_data)
for i in range(len(converted_list)):
print(converted_list[i], end="")
如果想一步到位就把两个脚本合并得到
from PIL import Image, ImageDraw
import struct
width = 515
height = 512
img=Image.open(r"fd.png")
a=[]
for i in range(height):
for j in range(width-3,width):
pi=img.getpixel((j,i))
for k in range(3):
a.append(pi[k])
for i in a:
j=i%10
if(j==5):
print(1,end='')
else:
print(0,end='')
将二进制转换得到
import secret
丁真 = np.float32(cv2.imread(r"C:\Users\16334\Desktop\fadian.png", 1))
for i in range(64):
for j in range(64):
芝士 = randint(0,2)
小马珍珠 = 丁真[:, :, 芝士]
雪豹 = cv2.dct(小马珍珠[8*i:8*i+8, 8*j:8*j+8])
if(secret[i*64+j] == '1'):
雪豹[7,7] = 20
elif(secret[i*64+j] == '0'):
雪豹[7,7] = -20
小马珍珠[8*i:8*i+8, 8*j:8*j+8] = cv2.idct(雪豹)
丁真[:, :, 芝士] = 小马珍珠
cv2.imwrite(r"C:\Users\16334\Desktop\fd.png", 丁真)
#a gift for you : %$#%$#jhgasdfg76342t
是一个简单的dct算法,末尾给了一个key,猜测是gpg算法的密钥
将某种秘密信息嵌入到DCT系数中。具体来说,它将图像划分为64个8x8的区域,并对每个区域进行以下操作:
-
随机选择一个颜色通道(R、G或B)。
-
对该区域的选定通道执行DCT离散余弦变换,以获取DCT系数。
-
如果
secret
中的下一个位是1,则将DCT系数(7,7)
设置为20;如果下一个位是0,则将其设置为-20。 -
将修改后的DCT系数应用于该区域的选定通道,并通过IDCT逆离散余弦变换将其转换回空间域。
-
将修改后的图像保存到名为
fd.png
的文件中。
下面是借用大佬的脚本得到的
将对应的数据打印出来观察(print(雪豹[7,7])),通过测试得到以正负十作为条件根据逻辑写对应的解密脚本
from random import randint
import cv2
import numpy as np
import secret
丁真 = np.float32(cv2.imread(r"C:\Users\123\Desktop\fd.png", 1))
for i in range(64):
for j in range(64):
for 芝士 in range(3):
小马珍珠 = 丁真[:, :, 芝士]
雪豹 = cv2.dct(小马珍珠[8 * i:8 * i + 8, 8 * j:8 * j + 8])
# print(雪豹[7,7])
if (雪豹[7, 7] > 10):
print("1", end="")
elif (雪豹[7, 7] < -10):
print("0", end="")
将上面脚本中得到的一堆01转换得到一个zip
找到pgp的密钥了
使用kali里面的工具gpg进行解密,输入密码:%$#%$#jhgasdfg76342t
由此可以得到flag:NCTF{zys_1s_s0_V3g3T@13lE_qwq}
[安洵杯 2018]boooooom
三个文件加密,爆破得到密码3862
打开压缩包发现flag.zip和password.zip都是加密的
只有password.txt是可以打开的
import base64
import hashlib
f = open("password.txt",'r')
password = f.readline()
b64_str = base64.b64encode(password.encode('utf-8'))
hash = hashlib.md5()
hash.update(b64_str)
zip_passowrd = hash.hexdigest()
print(zip_passowrd)
根据脚本可以知道通过对password.txt的处理可以得到flag.zip的密码
所以我们需要找到password,可以通过对CRC32的爆破得到txt中的内容
爆破八位的CRC
#encoding:utf-8
import binascii
pwdcrc = "0xcd95dac"
for num in range(100000000):
num = str(num)
if (len(num)<8):
num = (8-len(num)) * '0' + num
calc_crc = hex(binascii.crc32(bytes(num.encode('utf8'))) & 0xffffffff)
if calc_crc == pwdcrc:
print("Password: {}".format(num))
break
#Password: 08646247
得到密码,接下来用上面给的脚本解密得到压缩包密码
import base64
import hashlib
password = "08646247"
b64_str = base64.b64encode(password.encode('utf-8'))
hash = hashlib.md5()
hash.update(b64_str)
zip_passowrd = hash.hexdigest()
print(zip_passowrd)
95c800c52134a571dfe69114c378e4be
打开压缩包发现里面有一张png图片,png宽高有问题
用工具一键爆破
爆破得到flag
flag{a184929e2c170e2b7dc12eb3106f0a16}
[HITCTF 2022]Just a picture
修复png头,被伪装成jpg图片了
感觉Png图片的宽高有问题,爆破得到
得到密码:pa44w0rd
猜测带密码的隐写方式结果发现都不是
打开010查看有没有冗余数据,在尾部有部分无法识别的数据,拿出部分文件头搜索得到
百度发现是7z文件
有三种修改方式
经过测试发现最后一种才是正确的修复方式,用密码打开压缩包得到
[GKCTF 2020]Harley Quinn
在音频的属性中找到提示:21位的password
音频很像按键声音,使用工具DTMF提取得到
直接用工具解码
建议把拨号的那一段截出来
两个工具都可以提取出数字
222833344477773388666(21)(因为提示电话音&九宫格,FreeFileCamouflage,下载的文件可能显示乱码,所以s九宫格密码)
23 81 33 43 74 32 82 63 ->cteisfuo
22283334447773338866(20)
222833344477773338866
大概可以猜出ctfisfun
但是根据wp中需要对比频谱图
发现少了一个3
#222833344477773338866#
实际上少了一位
得到正确的密码为23,81,33,43,74,33,82,62 -> ctfisfun
其实也可以猜到,阿巴阿巴阿巴
FreeFileCamouflage隐写flag{Pudd1n!!_y0u_F1nd_m3!}
[SWPUCTF 2022 新生赛]Continue
题目提示:The password is the same with the name
很熟悉的压缩包套娃题目,直接脚本一把梭,芜湖~~
import zipfile
name = 'Continue'
while True:
fz = zipfile.ZipFile(name + '.zip', 'r')
fz.extractall(pwd=bytes(name, 'utf-8'))
name = fz.filelist[0].filename.rstrip('.zip')
print(fz.filelist[0].filename)
fz.close()
NSSCTF{09b43595-8b96-4aa4-a5d2-c327c8e41174}
[justCTF 2020]pdf
binwalk分离文件,只有两个文件是default compression 默认压缩
查看这两个文件中的内容
pip3 install polyfile
Also check out the `--html` option!
But you'll need to "fix" this PDF first!
另一个文件中是一堆十六进制数据
在分离的文件中找到false_flag.md提示
感觉上面这些东西对解题好像没有什么帮助
直接把十六进制数据转换为图片得到
justCTF{BytesAreNotRealWakeUpSheeple}
也可以
xxd -p -r B5FFD > result
转换为十六进制数据
看完wp之后才知道所给的提示怎么用,乐
给mutool根据权限
使用工具得到一张图片
大致意思是提示我们找到那段十六进制数据,剩下的直接看wp吧,但是我更喜欢直接十六进制转图片,嘿嘿
[NCTF 2018]HaveFun
发现一堆加密的gif和一个wcy_____.txt
也就是掩码爆破5位的密码
找到密码:wcy1sg4y
Gif 文件的话使用 identify
命令去拆解 Gif,Gif 有 8 帧,而二进制信息就是 8 个一组的
,而且部分 Gif 的每一帧存在规律:
identify -format "%T \n" filename
identify -format "%s %T \n" *
有些特殊的gif会出现
提取出来得到
13 10
1 20
2 20
3 10
4 20
5 20
6 20
7 10
24 10
1 20
2 20
3 10
4 10
5 10
6 20
7 20
31 10
1 20
2 20
3 20
4 10
5 20
6 10
7 10
32 10
1 20
2 20
3 10
4 10
5 20
6 20
7 10
39 10
1 20
2 20
3 20
4 20
5 10
6 20
7 20
43 10
1 20
2 20
3 10
4 20
5 20
6 20
7 10
47 10
1 20
2 20
3 10
4 10
5 10
6 20
7 20
51 10
1 10
2 20
3 20
4 10
5 20
6 20
7 20
57 10
1 20
2 20
3 10
4 10
5 20
6 20
7 10
59 10
1 10
2 20
3 20
4 10
5 10
6 10
7 20
66 10
1 20
2 20
3 20
4 10
5 10
6 20
7 20
76 10
1 20
2 20
3 10
4 10
5 20
6 20
7 10
77 10
1 20
2 20
3 20
4 10
5 20
6 10
7 20
84 10
1 20
2 20
3 10
4 20
5 20
6 20
7 10
90 10
1 20
2 20
3 20
4 20
5 20
6 10
7 20
处理后得到
10
20
20
10
20
20
20
10
10
20
20
10
10
10
20
20
10
20
20
20
10
20
10
10
10
20
20
10
10
20
20
10
10
20
20
20
20
10
20
20
10
20
20
10
20
20
20
10
10
20
20
10
10
10
20
20
10
10
20
20
10
20
20
20
10
20
20
10
10
20
20
10
10
10
20
20
10
10
10
20
10
20
20
20
10
10
20
20
10
20
20
10
10
20
20
10
10
20
20
20
10
20
10
20
10
20
20
10
20
20
20
10
10
20
20
20
20
20
10
20
观察发现只有10和20两种,那就转换为01,再转换为字符串
import re
def file():
text = "01.txt"
with open(text,'r') as f:
binfile = (f.read()).replace("\n","").replace(" ", "")
bindata = re.findall(r'.{8}',binfile)
for i in bindata:
ascii = int(i,2)
print(chr(ascii),end="")
file()
nctf{nc7f1sfun}
[HZNUCTF 2023 preliminary]ezpyc
先Pyc反编译得到
key和密文
直接cyberchef一把梭
这不是Re嘛?给我干哪来了
[ISG 2023]BaseEncoding
一眼base100
解码得到ISG{DfGp3szC69788YcQcNyQBDhzBwYsj9eP}
[watevrCTF 2019]Polly
for x in range(80):
a = -510233931851656757*x**56/710998587804863451854045647463724949736497978881168458687447040000000000000 + 28538582555324529581*x**55/25392806707316551851930201695133033919160642102898873524551680000000000000 - 361611288555263491*x**54/421055535502492258043032818391295177534479825940370161664000000000000 + 2189223797409040145903*x**53/5129859940872030677157616504067279579628412546040176469606400000000000 - 3001755643562030554208767*x**52/19357962041026530857198552845536904074069481305811986677760000000000000 + 78238787580756843015401*x**51/1781188998990295441405829301208769237584604463177400320000000000000 - 116104436553238240592813791*x**50/11496527230247656900485565886772482623174748513067073536000000000000 + 127279887341335237997305957*x**49/65694441315700896574203233638699900703855705788954705920000000000 - 20305349569334865003353693141*x**48/64170394447571083344765063383345446352972606387257344000000000000 + 755344461848261566273335985217*x**47/16909766104427515205715118053719408160580619250696192000000000000 - 8730828190255482707329907709523*x**46/1583041933180448232024394030560965870352228185171558400000000000 + 76555149545632714960652198194597*x**45/127331633755818662141092563327729863484853136633364480000000000 - 1602375720398047527703588216319184983*x**44/27479475110939521552978869398000199787640242135105536000000000000 + 114295162137526589722365996075069211717*x**43/22572425983986035561375499862643021254133056039550976000000000000 - 13848681865733026134505571948717935637*x**42/34996009277497729552520154825803133727338071379148800000000000 + 153346974308020314565759178978111441*x**41/5485267911833499929862093232884503719018506485760000000000 - 520024520896904430645934556087134499251423*x**40/290210808642664098728215918067635743104754738266112000000000000 + 583372437848702106759949552819801879184581*x**39/5580977089282001898619536885916071982783744966656000000000000 - 46031013908208473758789005123614987736509587*x**38/8272977802935673402659548795593236115655904303513600000000000 + 7353657867840940108498978410191786786833213*x**37/27150699353263793020311260526078188024353353891840000000000 - 92499773752352276492046888338669680452103462189*x**36/7657889561176967262139073481714360724817612636160000000000000 + 4100551582505375935469899571343423946185109603489*x**35/8296047024608381200650662938523890785219080355840000000000000 - 1895954357110172205089772212408286791708615900917*x**34/102036942013899875729927939885587961529432539136000000000000 + 43118050173835025743884479345094473671998423653*x**33/67129567114407812980215749924728922058837196800000000000 - 22765966699209423168314620580071311613337850078228970157*x**32/1114243406791786642970813103550620539901403327365120000000000000 + 2164682230392596021581197470695955891436192181935306391*x**31/3617673398674631957697445141398118636043517296640000000000000 - 920699702649221064972928655611480860602416008467275417*x**30/57052913814223586429637127677963161285274107904000000000000 + 686056125302514633652788467458025065050820545750401507*x**29/1711587414426707592889113830338894838558223237120000000000 - 3138304869574821781724911760498738183508227936479448972609*x**28/342317482885341518577822766067778967711644647424000000000000 + 1270675513242488953141124524513884117237971552020405481903*x**27/6583028517025798434188899347457287840608550912000000000000 - 35251878159156858646651490873547468067999378927697697003224477*x**26/9428213442084348517445341645428327645319566616166400000000000 + 640581045258286772319400657438117285194045922802459043053203*x**25/9620625961310559711678920046355436372775067975680000000000 - 72656459972106788902891971241582058202821865848124369081172639*x**24/66716462086011457208029806848269051769244352512000000000000 + 154039473157326645352130477125406816808322554770621702623189519*x**23/9427326164327705909830298793777148619567136768000000000000 - 1082910009287427089558040173029448590098449209287440350613671*x**22/4822161720883737038276367669451226915379609600000000000 + 24188920823778246702349239533423129779289240972762319245699197*x**21/8570296513025187190754817085251953290515578880000000000 - 2312064026649698678901994207690698059469649821996032406197587664228741*x**20/71419066189405618046396886086957233654685736370176000000000000 + 862370556128011088565191676373092759230061876592574879284609935706793*x**19/2550680935335914930228460217391329773381633441792000000000000 - 32072107483702086982352528206453150709858865925578274033380368180437*x**18/10002670334650646785209647911338548130908366438400000000000 + 1529698138827681013559573339316154298621053459717691815776842419379*x**17/55570390748059148806720266174103045171713146880000000000 - 222611348623707141383036923098732823232255364898093370342989110678452081*x**16/1044260259473944837992951668521686390518442885120000000000000 + 19351471406694225111369749822067705924291211128650839886054241035573*x**15/13048686203253171864759230125976987935703040000000000000 - 788448884149338619773551061237815179858025448137798058040565357883017969*x**14/85480045326791055697402842485438742223090876416000000000000 + 1073836757430890424151052096696872926581023064319957457780403520628397*x**13/21054198356352476772759320809221365079579033600000000000 - 13037261936583491232564987358021148191312145269662640728042654537466177*x**12/52337322240932848864901859644270462537564160000000000000 + 193553176960028089077524490434690010049391798907017144709511622501501*x**11/181523857324358216783809467780676473323520000000000000 - 68187858129806282947338026458215966993811977794098721136854363544114709*x**10/17205436276727086314158740721145118396514304000000000000 + 8945934592679151193925448392874011400632217576523903097012117504044751*x**9/707334602487669104026526007424854867412254720000000000 - 1869710221567968463761175994053678221652715546983576126590166640405599343*x**8/54712331502421205196451786674312523994337902592000000000 + 150097834583670559919903774847355537654811358204762610127392287652832711*x**7/1954011839372185899873278095511161571226353664000000000 - 887795495236087230655513134787312551397755543548982957604351894153*x**6/6324332742830674887191952972548659841433600000000 + 325850556958534026053020666873255701298636569528110069255986051*x**5/1611756757211697568252622935684799553945600000 - 1383255113415521659958099444243664043564187251342510179583421*x**4/6303358038091792437823864786842855398400000 + 1288933044552801369576288324542563196552750611910520778643*x**3/7696407860917939484522423427158553600000 - 58143815812249254268696937296354052881595701176023*x**2/732857216672564586715802770080000 + 76949958412245985708257714245417562997*x/4439171857433454741600 + 119
print(chr(a),end="")
直接摇密码✌解方程
watevr{polly_polynomials_youtube.com/watch?v=THNWVVn9JO0}
[SDCTF 2022]Ishihara test++
修改部分蓝色点点的颜色就能看见隐藏起来的flag了
NSSCTF{c0untle55_col0rfu1_c0lors_cov3ring_3veryth1ng}
[CISCN 2022 东北]pixel![](https://i-blog.csdnimg.cn/direct/e4b1e07f29d841f08cdb6351fc0b7c08.png)
压缩包密码为 258523871198,解压后得到 flag.dat。
不知道是什么文件
用b神的工具看看
得到一个zip文件,打开发现旁边有注释:
你知道01嘛 10110010110111101110101010111110100001101100001011011100110111001101111011101000101111101100110011010010110111001100100010111110110100101110100
解二进制得到密码:You_Cannot_find_it
import libnum
a = 0b10110010110111101110101010111110100001101100001011011100110111001101111011101000101111101100110011010010110111001100100010111110110100101110100
print(libnum.n2s(a))
打开压缩包得到一个Png图片
PixelJihad 隐写用上面的密码 即可拿到flag
[羊城杯 2023]EZ_misc
在图片后面找到冗余的zip数据,还有提示5位数字
修改正确的文件头
通过 PNG&TXT 的命名 Grons
&Feld
,可以推测加密方式为格罗斯费尔德密码(Gronsfeld cipher) ,前面图片分析中有hint:fivenumbers
https://www.dcode.fr/gronsfeld-cipher
"trytothinkthesnippingtools"
提示:截图漏洞
修复成功~get:DASCTF{CvE_1s_V3ry_inEr3sting!!}