得到的 flag 请包上 flag{} 提交。
得到五张图片,以此查看二进制,明显的,
5.png末尾得到
I give U a gift:Yzcllfc0lN
2.png中藏着很多.txt
正如我们所知.7z也是压缩包的后缀名之一
直接binwalk -e 2.png,未果
统一替换377A为504B后分离,得1000个txt
随意点开几个,发现内容一致
N0thIng h3re
根据大小或修改日期对这些文件进行排序,得到一个不一样的618.txt
You find it: 1RVcmVfc
1.png
猜测该图本应当跟其他几张类似
先根据crc爆破长宽高
# -*- coding: utf8 -*-
import zlib
import struct
#读文件
file = '1.PNG' #注意,1.png图片要和脚本在同一个文件夹下哦~
fr = open(file,'rb').read()
data = bytearray(fr[12:29])
#crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",''))
crc32key = 0x000C4ED3 #补上0x,copy hex value
#data = bytearray(b'\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xF1\x08\x06\x00\x00\x00') #hex下copy grep hex
n = 4095 #理论上0xffffffff,但考虑到屏幕实际,0x0fff就差不多了
for w in range(n):#高和宽一起爆破
width = bytearray(struct.pack('>i', w))#q为8字节,i为4字节,h为2字节
for h in range(n):
height = bytearray(struct.pack('>i', h))
for x in range(4):
data[x+4] = width[x]
data[x+8] = height[x]
#print(data)
crc32result = zlib.crc32(data)
if crc32result == crc32key:
print(width,height)
#写文件
newpic = bytearray(fr)
for x in range(4):
newpic[x+16] = width[x]
newpic[x+20] = height[x]
fw = open(file+'.png','wb')#保存副本
fw.write(newpic)
fw.close
得到初步恢复的图片
二进制打开后发现chunk[2]和chunk[3]不对劲
(此处笔者本身版本不显示template,在https://www.sweetscape.com/010editor/repository/files/PNG.bt复制后创建并运行了png.bt后得到,希望对你有帮助
对比后发现是缺少了49444154IDAT头,补上即可
然后就得到了正常显示的11.Png!!
(学到了,怪不得对于有的格式我的010editor会显示得更详细
Stegsolve进行处理,在blue2发现二维码!
得到
ZmxhZ3s0X3
3.png着实有难度
在crc值上做文章
每块连起来是
33526c5a33303d
十六进制解码后
3RlZ30=
4.png
strings 4.png
another part:cExlX1BsY=
依次得到
ZmxhZ3s0X3
1RVcmVfc
3RlZ30=
cExlX1BsY=
Yzcllfc0lN
没错顺序是猜的
ZmxhZ3s0X3Yzcllfc0lNcExlX1BsY1RVcmVfc3RlZ30=
flag{4_v3rY_sIMpLe_PlcTUre_steg}
得到的 flag 请包上 flag{} 提交。
得到一个流量包,全是RTP流量
学到了【电话->RTP->RTP流】或者根据题目名称【电话->VoIP通话】
接下来就是英语听力部分
flag{9001IVR}
得到的 flag 请包上 flag{} 提交。
学到了零宽度字符隐写https://330k.github.io/misc_tools/unicode_steganography.html
死活看不出来有啥不对的,字频分析也不是。原来用上面的网站就可以啦,有收获一个新工具!
utflag{whyNOT@sc11_4927aajbqk14}
碰到一道题《真的很杂》,binwalk -e分离出来后存在一个AndroidManifest.xml,看WP是安卓的逆向(?)
先挖个坑,之后找师傅好好讨教一下