IceCTF-Matrix

解题思路:

参考了鸽子小姐姐的脚本:https://zhuanlan.zhihu.com/p/22678856

具体题目就不贴了。

题目中提示将问题图像化,猜测是将这些16进制数转化为图像,尝试将16进制转换为二进制

乍一看是不是有点像一个二维码,接下来就是具体将0转化为白色,1转化为黑色了。

这里贴一下鸽子小姐姐的代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
from PIL import Image
import numpy as np
 
def hex2bin(hexmat):
    binmattemp = [bin(m)[2:] for m in hexmat]       #全转成二进制
    rowlen = max([len(m) for m in binmattemp])      #取最宽的值
    binmat = [[0]+[int(b) for b in row.zfill(rowlen)] for row in binmattemp]        #用0补齐
 
    print rowlen+1, 'x', len(binmat)
    for i in xrange(len(binmat)):
        print ''.join([str(b) for b in binmat[i]])
 
    return binmat, rowlen+1, len(binmat)
 
def rm_col(binmat, col):        #移除指定的列
    return [row[:col]+row[col+1:] for row in binmat]
 
 
def make_bw_img(binmat, w, h, outfilename, blackbit=0):
 
    bwmat = [[0 if b==blackbit else 255 for b in row] for row in binmat]    #用255表示白,0表示黑
 
    imagesize = (w, h)
    img = Image.fromarray(np.uint8(np.array(bwmat)))
    img.save(outfilename)
 
if __name__ == '__main__':
    hexmat = [0x00000000,
              0xff71fefe,
              0x83480082,
              0xbb4140ba,
              0xbb6848ba,
              0xbb4a80ba,
              0x83213082,
              0xff5556fe,
              0x00582e00,
              0x576fb9be,
              0x707ef09e,
              0xe74b41d6,
              0xa82c0f16,
              0x27a15690,
              0x8c643628,
              0xbfcbf976,
              0x4cd959aa,
              0x2f43d73a,
              0x5462300a,
              0x57290106,
              0xb02ace5a,
              0xef53f7fc,
              0x00402e36,
              0xff01b6a8,
              0x83657e3a,
              0xbb3b27fa,
              0xbb5eaeac,
              0xbb1017a0,
              0x8362672c,
              0xff02a650,
              0x00000000]
 
    binmat, w, h = hex2bin(hexmat)
    binmat = rm_col(binmat, 22)         #发现第七行和第22行多余,故删除
    binmat = rm_col(binmat, 7)
    make_bw_img(binmat, w, h, 'matrix_rmcol.png', blackbit=1)

 

posted @ 2019-05-27 17:21  有牵挂才会怕  阅读(546)  评论(0编辑  收藏  举报