Streaming
追踪一下发现是H264流,使用插件解码提取一下
具体步骤:右键decode as 任选一个流
在当前列改为RTP即decode as RTP
然后在编辑-首选项-Protocols-H.264 选择type为96即可,然后再使用插件导出
如何安装插件?
https://github.com/volvet/h264extractor
github上下载一下插件,然后如果wireshark版本较老,可以将插件放置在wireshark安装的根目录下,修改wireshark根目录下的init.lua文件,在末尾增加一行dofile(DATA_DIR..”rtp_h264_extractor.lua”)
然后我的情况是我的wireshark版本太新了,已经没有init.lua这个文件了,这个时候其实安装插件更加简单,只需要将lua脚本文件复制到Wireshark\plugins目录下即可,然后重启wireshark就可以看到插件
为什么是96?
因为写在这了……
接着使用H264BSAnalyzer.exe工具分析解出来文件,发现是一个视频,打开视频看发现flag1和hint
然后根据hint这不仅仅是flag说明这段flag还可能作为密钥使用,然后还有这道题还有一个未知文件,根据视频里划过的大量FFFFFFF数据,我们脑洞大开猜测这道题需要进行异或并且密钥是ff,同时还需要进行AES解密,密钥就是那段flag1
成功得到了一个压缩包,压缩包里有两个文件
将badapple放入FotoForensics-Analysis-ICC+处,发现flag2,这也是我没遇到过的网站,本题的脑洞实在是太多了……
还有另一个文件s4cret,补上三个0x00改文件头为mp4
发现是Apple QuickTime movie,黑白帧转二进制
import cv2
import binascii
video_capture = cv2.VideoCapture("s4cret.mp4")
while True:
# 读取一帧
ret, frame = video_capture.read()
# 如果读取帧失败,则说明视频结束
if not ret:
break
# 将图像转换为灰度图像
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 判断当前帧是黑色还是白色
if cv2.countNonZero(gray_frame):
print("0", end="")
else:
print("1", end="")
得到flag3