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

相关推荐
倒头就睡的小比特6 小时前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!7 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼8 小时前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
龙亘川9 小时前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
旖旎夜光9 小时前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark9 小时前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her19 小时前
并查集-听课笔记
笔记·算法·并查集
码流子9 小时前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
kybs19919 小时前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net