1. 程式人生 > >bugku Misc 好多數值

bugku Misc 好多數值

前言:玩CTF也有好一陣子,這麼久了,我很少做一些筆記,大概是沒有做筆記的習慣,總覺得缺點什麼,今天就拿一個當時沒有任何頭緒而且有趣的CTF題目說說,或許以後就不會再玩了。

1.題目:好多數值(來源於Bugku)

1.1.題目連結

1.2.txt文件如圖

在這裡插入圖片描述

此文件使用notepad++開啟,每一行都是RGB值,通過後來的瞭解是RGB轉換成圖片,那麼來分析一下,此文件一共61367行,有數值的一共61366行。(1)通過txt檔案行數(61366=261503,最後一行是空行,不在計算範圍內)的整數分解。(2)可以得到以下幾個不同的size:503 * 122,1006 * 61,30683 * 2(x,y交換一下對圖片不會有很大的變化,無非就是橫著和豎著的區別吧),那麼就要實現三種不同規格圖片的轉化,確定其中的有效圖片。

1.3.程式碼示例(利用python的圖片庫)

from PIL import Image
x = 503 #x座標  通過對txt裡的行數進行整數分解
y = 122 #y座標  x*y = 行數

im = Image.new("RGB",(x,y))#建立圖片
file = open('1.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()

在這裡插入圖片描述