合天实验室CTF 基础100 flag就在这儿

原题链接

下载txt,打开发现全是三维数组。容易想到是RGB三原色数组。

思路:

  1. 把数组转化为图片,再看看有没有什么特别的地方。利用python的PIL库容易实现。
    PIL库的安装就不多说了。参考windos,python3.x安装PIL

  2. 下面要确定图片的size(因为差别太大的size不容易看出东西来):由于数组总共61366行,即61366个像素,可以得到几种size:503* 122,1006* 61,30683*2。于是选择503 *122的size。

python代码如下:

#-*- coding:utf-8 -*-
from PIL import Image
import re

x = 503 #x坐标  通过对txt里的行数进行整数分解
y = 122 #y坐标  x*y = 行数

im = Image.new("RGB",(x,y))#创建图片
file = open('misc100.txt') #打开rbg值文件

#通过一个个rgb点生成图片
for i in range(0,x):
    for j in range(0,y):
        line = file.readline()#获取一行
        rgb = line.split(",")#分离rgb
        im.putpixel((i,j),(int(rgb[0]),int(rgb[1]),int(rgb[2])))#rgb转化为像素
im.show()

得到flag:

flag{youc@n’tseeme}

你可能感兴趣的:(Python,CTF)