合天網安實驗室CTF-基礎100-Flag就在這兒

合天網安實驗室CTF-基礎100-Flag就在這兒

題目描述

  嗯,什麼東東?相信聰明的你一定會想到吧

相關附件

  misc100.txt
flag

參考解題步驟

1、下載附件打開後是61366行每行是由逗號分隔的3個數,大部分是255,255,255
這裏只截取了少部分
部分
2、第一反應是座標,覺得不合理,然後又想是不是RGB碼,而RGB(255,255,255)對應的是白色,所以猜測可能是在白底上繪製了flag。那麼現在要解決的是怎麼將對應的圖案繪製出來。
  這61366行應該就是61366個像素對應的顏色,那麼圖案如果是正方形的話長寬大約爲:247
  長寬

3、開始畫圖。語言選擇的話Python會比Java的代碼量少很多。

  flag
  發現長寬比不合適,寫代碼打印了61366所有的因數
  因數
  其中寬503高122最合適
flag
  flag{youc@n’tseeme}

4、提交youc@n'tseeme驗證通過
通過

Python版畫圖代碼

from PIL import Image, ImageDraw

# 設置圖像大小
width = 503
height = 122

# 創建一幅模式爲RGB,尺寸爲247*247並且背景爲白色的圖片
image = Image.new('RGB', (width, height), (255, 255, 255))

# 創建Draw對象:
draw = ImageDraw.Draw(image)

# 打開文件
misc100 = open('misc100.txt')

# 循環填充每個像素:
for x in range(width):
    for y in range(height):
        # 讀取每行rgb值並分割處理成int列表
        rgb = list(map(int, misc100.readline().split(',')))
        # 爲每個像素設置rgb值
        draw.point((x, y), (rgb[0], rgb[1], rgb[2]))

# 顯示圖片
image.show()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章