CTF题目:2014-sctf-misc400

解题思路:pngcheck 检查发现 IDAT数据块问题,binwalk对图片里面的数据进行分离解压,在这个数据包里面01字符串,01字符串的长度是625,除以8 除以7 都无法整除,也就是说没法直接转换成ascii码,猜测有可能是01转二维码。

解题参考:[SCTF 2014]misc400

这里讲如何生成二维码部分:

  1. 使用 Python
python 复制代码
from PIL import Image

# 定义图像的大小
MAX = 25

# 创建新的图像对象
pic = Image.new("RGB", (MAX, MAX))

# 定义二维码数据
qr_data = "1111111000100001101111111100000101110010110100000110111010100000000010111011011101001000000001011101101110101110110100101110110000010101011011010000011111111010101010101111111000000001011101110000000011010011000001010011101101111010101001000011100000000000101000000001001001101000100111001111011100111100001110111110001100101000110011100001010100011010001111010110000010100010110000011011101100100001110011100100001011111110100000000110101001000111101111111011100001101011011100000100001100110001111010111010001101001111100001011101011000111010011100101110100100111011011000110000010110001101000110001111111011010110111011011"

# 填充图像像素
for i, char in enumerate(qr_data):
    x = i % MAX
    y = i // MAX
    color = (0, 0, 0) if char == '1' else (255, 255, 255)
    pic.putpixel((x, y), color)

# 显示并保存图像
pic.show()
pic.save("flag.png")
  1. 使用 Excel

使用公式与条件格式,填充公式A1=MID($Z$1,(ROW()-1)*25+COLUMN(),1)通过行号和列号计算从 Z1 单元格的特定位置提取一个字符,并填充到当前单元格中。

相关推荐
小安同学iter12 小时前
SQL50+Hot100系列(11.9)
算法·leetcode·职场和发展
炼金士13 小时前
基于多智能体技术的码头车辆最快行驶路径方案重构
算法·路径规划·集装箱码头
小刘max14 小时前
最长递增子序列(LIS)详解:从 dp[i] 到 O(n²) 动态规划
算法·动态规划
谢景行^顾15 小时前
数据结构知识掌握
linux·数据结构·算法
ShineWinsu15 小时前
对于数据结构:堆的超详细保姆级解析——下(堆排序以及TOP-K问题)
c语言·数据结构·c++·算法·面试·二叉树·
DuHz15 小时前
基于时频域霍夫变换的汽车雷达互干扰抑制——论文阅读
论文阅读·算法·汽车·毫米波雷达
hetao173383716 小时前
ZYZ28-NOIP模拟赛-Round4 hetao1733837的record
c++·算法
Nebula_g16 小时前
C语言应用实例:解方程(二分查找)
c语言·开发语言·学习·算法·二分查找·基础
深圳南柯电子16 小时前
深圳南柯电子|医疗电子EMC整改:助医疗器械安全稳定的关键环节
网络·人工智能·安全·互联网·实验室·emc
少许极端17 小时前
算法奇妙屋(十)-队列+宽搜(BFS)
java·数据结构·算法·bfs·宽度优先·队列