条码分析

MISC · 知识域。条形码/二维码类图形编码。标签:条形码、QRcode、海明码、汉信码、条形码结构分析、二维码结构分析。

触发特征

  • 给出二维码(残缺/被处理过)/条形码图片求内容。

条形码

  • 一维码识别:zbarimg/pyzbar(Code128/EAN13/ITF);barcode 库手动解。
  • 类型判别:起止符、宽度模式;数字长度提示类型(EAN-13 = 13 位)。
  • 多段拼接:多张条形码内容拼合(BSIDSSF 2024 拼接注入,Web 联动)。

QRcode

  • 识别与解码:pyzbar/zbarimg;失败原因分类处理:
  • 残缺补全:定位图案(三个"回"字)手工补;纠错等级 H 可容 30% 损伤。
  • 定位块/时序图案缺失:按 QR 结构规范画回。
  • 反色/旋转:invert + 旋转 90° 枚举。
  • 尺寸未知:枚举 version(21×21 起,每版 +4)。
  • QR 结构分析(故意打码/数据区被改):QR 码结构 = 定位图案 + 时序图案 + 对齐图案 + 格式信息(纠错等级+掩码,BCH 码)+ 版本信息 + 数据区(模式指示符+字符数指示符+数据+纠错码字)。
  • 格式信息暴力枚举(15 bit 全试);掩码 8 种逐个异或还原。
  • Reed-Solomon 纠错恢复:擦除(已知位置损坏)比随机错误可纠一倍。
  • 常见变体:多色 QR 二值映射暴力(STEM CTF 2019);非方阵 QR;PDF417/MaxiCode 2D 条码(CSAW CTF 2016);DotCode 经 SSTV 传输(0xFun 2026);汉信码(国内标准,专用解码器);Aztec 码。
  • 结构约束重组 QR(Square CTF 2018 格式串约束);索引目录分片重组(UTCTF 2026);nonogram 求解器 → QR 管线(SECCON 2015)。

海明码

  • 汉明码纠错:位序(1,2,4,8 为校验位);单比特纠错、双比特检测。
  • 变体:扩展汉明码、SECDED;(7,4) 编解码脚本。
  • 隐写载体:图片像素位/音频位按汉明码排列。

工具速查

zbarimg x.png; pyzbar
python qrcode 库重建; quirc / zxing-cpp
# 手工修复:pixdaus 的 qrcode 修复脚本 / PIL 画定位块

转向

  • QR 解出的 URL/文本是下一环 → 按内容路由;条码藏在视频 → 视频隐写

评论