一、[HDCTF 2023]MasterMisc
1.首先得到了六个文件,其中查看是第一个和第六个,发现分别含有zip头和尾,猜测要将六个文件合在一起
cat topic.zip.001 topic.zip.002 topic.zip.003 toppic.zip.005 topic.zip.006 >> topic.zip
2.得到zip,显示需要密码,直接爆破
3.在图片尾接着另外一张图片和一个wav,中间是末尾部分的flag,直接手撕,png的crc报错,随便改一下高度,得到中间部分flag
4.将wav查看频谱图,得到第一部分flag
HDCTF{e67d8104-7536-4433-bfff-96759901c405}
二、[鹏城杯 2022]Misc_water
1.得到的png文件的名字镜像翻转,得到water_picture,010打开png,发现在两个png尾部源码之间夹杂了一段倒转的jpg文件源码,手撕,使用脚本反转一下
点击查看代码
with open("./1.jpg","rb") as f:
tmp = f.read()
with open("./2.jpg","wb") as f:
f.write(tmp[::-1])
点击查看代码
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread('./2.jpg', 0) #直接读为灰度图像
f = np.fft.fft2(img) #做频率变换
fshift = np.fft.fftshift(f) #转移像素做幅度谱
s1 = np.log(np.abs(fshift))#取绝对值
plt.subplot(121)
plt.imshow(img, 'gray')
plt.title('original')
plt.subplot(122)
plt.imshow(s1,'gray')
plt.title('center')
plt.show()