Jarvis OJ - class10 -Writeup

Jarvis OJ - class10 -Writeup

轉載請註明出處:http://www.cnblogs.com/WangAoBo/p/7552266.htmlhtml

題目:

Jarivs OJ的一道misc,記錄這道題的Writeup主要是想記錄解題的腳本python

分析:

文件下載後是純數據,binwalk發現爲兩段zlib壓縮後的數據,其中第2段爲default compression,這是信息1;strings查看字符串,發現IHDR, RGB, IDAT等和圖像相關的字符,這是信息2spa

步驟:

  • 分理出class10中的壓縮數據3d

    binwalk -e class10code

  • 查看分離後的數據htm

    由信息1,F4289.zlib爲default compression的zlib數據,對其進行解壓縮(固然binwalk厲害得很,binwalk -e分離後的F4289已是解壓縮過得數據了)blog

  • 如上,解壓後爲29 × 29位的01字符串,再結合信息2,設想生成一張29*29的方形圖片,像素點與字符串對應,始0和1對應的像素點分別爲不一樣黑白兩種顏色,代碼以下圖片

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 __Auther__ = 'M4x'
     4 
     5 from PIL import Image
     6 
     7 SIZE = 29
     8 img = Image.new("RGB", (SIZE, SIZE))
     9 with open("./F4289") as f:
    10     str = f.read()
    11     #  print str
    12 
    13 i = 0
    14 for y in xrange(SIZE):
    15     for x in xrange(SIZE):
    16         if str[i] == '0':
    17             img.putpixel([x, y], (0, 0, 0))
    18         else:
    19             img.putpixel([x, y], (255, 255, 255))
    20         i = i + 1
    21 #  img.show()
    22 img.save("img.png")

     

  • 生成了一個二維碼,掃碼便可拿到flagutf-8

相關文章
相關標籤/搜索