1.这是一张单纯的图片
使用winhex打开图片,在图片结尾发现一串&#开头的16进制串,直接对16进制字符hex解码即可
2.隐写
打开压缩包发现文件时坏的,放入tweakpng.exe中修复并加长高度,直接使用画图3D打开即可
3.telnet
解压发现是一个数据包,直接用wireshake打开,题目提到telnet,搜索telnet,按字节大小排序,阅读可直接看到答案
4.眼见非实(ISCCCTF)
开始得到的文件是zip,直接解压发现word文档,打不开,用winhex打开发现这是一个zip压缩包,改后缀名解压,发现是一个app的文件,直接打开查找即可发现结果
5.又一张图片,还单纯吗
将图片使用winhex打开,查询ffd8,ffd9,发现这个图片文件中是可以拆成两个图片文件而不丢失东西,打开后面那一个即可得到答案
6.猜
直接将图片放入百度识图中即可得到答案
7.宽带信息泄露
打开发现一个bin文件,根据题意我们可知这是一个路由配置文件,我们使用RouterPassView软件打开文件,查阅即可得到密码
8.隐写2
用binwalk打开图片文件发现图片尾部的zip文件,取出解压,发现一个提示和有密码的压缩包,打开提示最重要的是密码是三个数字,直接暴力破解得到密码,解压又得到一张图片,使用winhex打开图片可在结尾发现flag,对flag中的内容进行base64解密,即可得到答案
9.多种方法解决
用winhex打开文件,发现提示image,base64和一串很长的base64编码的字符串,对字符串解码保存为png文件,二维码扫描即可得到答案
10.linux
解压获得linux镜像文件,在linux下使用mount文件挂载即可得到答案
11.中国菜刀
打开文件,查询TCPstream发现flag.tar.gz文件,在binwalk中检查分离解压即可得到结果
12.隐写3
解压文件,获得一个错误的png文件,放入tweakpng中修复并更改高度即可看到flag
13.做个游戏(08067CTF)
使用jd-gui对解压获得的程序进行反汇编,阅读反汇编获得程序即可得到key
14.细心的大象
使用winhex打开图片查找图片结尾发现图片中隐含了rar文件,分离出的rar是加密的,然后打开图像属性发现备注是一段字符串,使用base64解密即可得到rar文件解密密码,解密得到png图片,发现无法打开,放入tweakpng,修补并更正高度,打开即可看到flag
15.爆照(08067CTF)
用winhex打开文件查询jpg文件结尾发现该照片文件中包含着一个zip加密文件,解密即可得到8个文件,逐一检查发现部分是bmp文件,部分是jpg文件,打开88.jpg,即可发现二维码,扫描得到结果,点击888.jpg文件属性,发现备注的值,使用base64解密即可,使用winhex打开8888.jpg,查找图片结尾,发现该图片内含zip压缩包,打开压缩包发现二维码,扫描即可得到结果
16.图穷匕见
用winhex打开图片文件发现在图片即为之后有一串16进制数字,拷贝并再次放入winhex中(即进行hex解码),发现一大段坐标值,将其读出并画在图片上,保存,即可得到答案
from PIL import Image
fi=open('a.txt',"rb")
zuobiaostr=fi.read()
fi.close()
zuobiao=zuobiaostr.split(chr(10))
im=Image.new("1",(300,300))
for x in xrange(0,300):
for y in xrange(0,300):
im.putpixel((x,y),255)
for i in zuobiao:
zuobiaolist=i.split(",")
x=int(zuobiaolist[0][1:])
y=int(zuobiaolist[1][:-1])
im.putpixel((x,y),0)
im.save("2.jpg")
17. convert
打开发现一堆二进制数字,转为16进制后发现是zip文件,打开发现是一张图片,在图片属性主题处发现base64编码,解码即可得到答案。
18.听首音乐
下载发现一首歌曲,用Audacity打开可以发现摩尔电码,解密即可
19.好多数值
下载获得文件,发现是RGB数值,只需将其画在图中即可
from PIL import Image
list1=[]
fi=open("4.txt","rb")
while 1:
line = fi.readline()
if not line:
break
else:
list1.append(line)
fi.close()
im=Image.new("RGB",(503,122))
for i in xrange(len(list1)):
listrgb=list1[i][:-2].split(",")
im.putpixel((i/122,i%122),(int(listrgb[0]),int(listrgb[1]),int(listrgb[2])))
im.save("5.jpg")