合天網安實驗室CTF-基礎100-Flag就在這兒
題目描述
嗯,什麼東東?相信聰明的你一定會想到吧
相關附件
misc100.txt
參考解題步驟
1、下載附件打開後是61366行每行是由逗號分隔的3個數,大部分是255,255,255
這裏只截取了少部分
2、第一反應是座標,覺得不合理,然後又想是不是RGB碼,而RGB(255,255,255)對應的是白色,所以猜測可能是在白底上繪製了flag。那麼現在要解決的是怎麼將對應的圖案繪製出來。
這61366行應該就是61366個像素對應的顏色,那麼圖案如果是正方形的話長寬大約爲:247
3、開始畫圖。語言選擇的話Python會比Java的代碼量少很多。
發現長寬比不合適,寫代碼打印了61366所有的因數
其中寬503高122最合適
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()