鸣雏恋
把后缀修改为zip解压后在_rels找到key.txt和love.zip直接binwalk源文件是不会有的
key.txt是零宽字符隐写,解出来的压缩包的密码
然后使用脚本将图片中的按人物转为1和0然后转ascii会得到一个base64形式的图片数据
# 作者:小狐狸FMimport zipfilelis = []result = ""data = ""size = 1with zipfile.ZipFile('love.zip', 'r') as zipobj: #读取压缩包for file_name in zipobj.namelist(): #遍历名称info = zipobj.getinfo(file_name)file_name = file_name.encode('cp437').decode('gbk')lis.append([file_name,info.file_size])# print(lis)del lis[0]for i in range(len(lis)): #处理文件名和数据lis[i][0] = lis[i][0].replace("out/","")lis[i][0] = lis[i][0].replace(".png", "")lis[i][0] = int(lis[i][0])if lis[i][1]==262:lis[i][1]='0'else:lis[i][1]='1'# print(lis)lis = sorted(lis)# print(lis)for i in range(len(lis)):data += lis[i][1] #数据大小if len(data)%8==0: #集齐八位二进制时result+=chr(int(data,2))data=""with open("2.txt","w") as fp:fp.write(result)
flag{57dd74fb21bb1aee50f19421bf836f23}
ChieftainsSecret
binwalk图片出来一个excel表和一个提示png然后是按照这个gui东西计算他的角度然后安装角度对照老式电话的数字
from math import atan2sinP = []sinN = []cosP = []cosN = []data = open("adc.csv").readlines()data = data[1:]for i in data:s = i.strip().split(",")sinP.append(s[0])sinN.append(s[1])cosP.append(s[2])cosN.append(s[3])data_li = []for i in range(len(sinP)):sinP_ = float(sinP[i])sinN_ = float(sinN[i])cosP_ = float(cosP[i])cosN_ = float(cosN[i])sinX = (sinP_-sinN_)*1.0cosX = (cosP_-cosN_)*1.0tanX = atan2(sinX,cosX)angle = tanX*57.29data_li.append(angle)print(len(data_li))import matplotlib.pyplot as pltimport matplotlib.font_manager as fmx_data = [x for x in range(len(data_li))]y_data = data_liplt.plot(x_data,y_data,color='red',linewidth=2.0,linestyle='--')plt.show()
根据11个高峰得角度然后计算老式电话的旋转角度对应的数字
角度**-151 -152 -79 -128 161 -103 -175 86 136 160 -151**
数字77085962457