将rgb值还原成图片(python)

时间:2021-06-16 20:40:47
    这是最近2016-SWPU-CTF的一道misc题目,比较简单,不过也比较有意思,所以还是写一写思路吧,供有兴趣的小伙伴学习。

首先,文件下载下来是一个.pcapng文件,用wireshark打开。看一下有什么传输文件,文件-导出对象-http。翻阅之后可以发现一个flag.zip文件,保存下来。

将rgb值还原成图片(python)将rgb值还原成图片(python)
打开之后发现是一堆“255, 255, 255”的东西,猜想应该就是rgb值,试一下还原图片,写了个脚本。

 #-*- coding:utf-8 -*-
from PIL import Image
import re
x = 887
y = 111
image = Image.new("RGB",(x,y))
f = open('ce.txt')
for i in range(0,x):
for j in range(0,y):
l = f.readline()
r = l.split(", ")#注意逗号后面有个空格(文本中逗号后面有空格,所以需要分离)
image.putpixel((i,j),(int(r[0]),int(r[1]),int(r[2])))
im.save('image1.jpg')
#读取行数可以直接用editplus打开查看,分解在线分解(http://factordb.com/)
#x,y的可能取值
# 32819*3
# 2661*27
# 887*111