CTF题目:2014-sctf-misc400

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

解题参考:SCTF 2014misc400

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

  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 单元格的特定位置提取一个字符,并填充到当前单元格中。

相关推荐
happymaker062637 分钟前
LeetCodeHot100——42.接雨水
算法
阿正的梦工坊1 小时前
【Rust】07-错误处理:Option、Result 与 ? 运算符
开发语言·算法·rust
Gzb11282 小时前
博客迁移声明
安全
八解毒剂3 小时前
数据结构-平衡二叉树——对二叉搜索树的优化
数据结构·c++·算法
运行时记录3 小时前
别再手动写提示词了 — SkillOpt 让技能文档自己进化
算法
啦啦啦啦啦zzzz3 小时前
算法总结(二分查找、双指针)
c++·算法
漫途科技3 小时前
精准盯防危房隐患,智守人居安全|MTB46-4-2A 4G数据采集终端专项应用方案
网络·安全
qq_8573058194 小时前
python语法
开发语言·python·算法
DXM05214 小时前
第9期|从机器学习到深度学习:AI遥感解译的进化逻辑
人工智能·算法·计算机视觉
小蒋学算法4 小时前
算法-阶乘函数后K个零
算法