博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IceCTF-Matrix
阅读量:6277 次
发布时间:2019-06-22

本文共 2008 字,大约阅读时间需要 6 分钟。

解题思路:

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

具体题目就不贴了。

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

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

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

#!/usr/bin/env python# -*- coding: utf-8 -*- from PIL import Imageimport 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)

 

转载于:https://www.cnblogs.com/HKCZ/p/10931872.html

你可能感兴趣的文章
点播转码相关常见问题及排查方式
查看>>
[arm驱动]linux设备地址映射到用户空间
查看>>
弗洛伊德算法
查看>>
【算法之美】求解两个有序数组的中位数 — leetcode 4. Median of Two Sorted Arrays
查看>>
精度 Precision
查看>>
Android——4.2 - 3G移植之路之 APN (五)
查看>>
Linux_DHCP服务搭建
查看>>
[SilverLight]DataGrid实现批量输入(like Excel)(补充)
查看>>
秋式广告杀手:广告拦截原理与杀手组织
查看>>
翻译 | 摆脱浏览器限制的JavaScript
查看>>
闲扯下午引爆乌云社区“盗窃”乌云币事件
查看>>
02@在类的头文件中尽量少引入其他头文件
查看>>
JAVA IO BIO NIO AIO
查看>>
input checkbox 复选框大小修改
查看>>
网吧维护工具
查看>>
BOOT.INI文件参数
查看>>
vmstat详解
查看>>
新年第一镖
查看>>
unbtu使用笔记
查看>>
OEA 中 WPF 树型表格虚拟化设计方案
查看>>