You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解码Tesco Clubcard Aztec二维码?二进制解码受阻求方案

Tesco Clubcard二维码后缀Base64数据解码方向求助

问题描述

我从网上找到的Tesco Clubcard二维码,通过在线解码工具得到结果:123123123123123:AKnp5O6eS3NeQAOh2lYmZSKSMSjJ+fCe1cG5FSQFU7vmkff2X8n+//T4dw==,其中123123123123123是卡号,冒号后是Base64编码的二进制数据。卡号与冒号的含义已明确,但卡在了该二进制数据的解码环节。

解码后的十六进制及ASCII映射如下:

00000000  00 a9 e9 e4 ee 9e 4b 73 5e 40 03 a1 da 56 26 65  |.©éäî.Ks^@.¡ÚV&e|
00000010  22 92 31 28 c9 f9 f0 9e d5 c1 b9 15 24 05 53 bb  |".1(Éùð.ÕÁ¹.$.S»|
00000020  e6 91 f7 f6 5f c9 fe ff f4 f8 77                 |æ.÷ö_Éþÿôøw|

我已尝试常规压缩算法(如Zlib、Gzip)和XOR异或运算,均未匹配成功,请问还有哪些可行的解码方法?

可行解码方向

  • 尝试对称加密解密:Tesco Clubcard的这类数据大概率采用对称加密(如AES)保护,优先尝试AES的常见模式(CBC、ECB)。密钥可能与卡号强相关,或是Tesco内部使用的固定密钥,可尝试搜索社区中分享的相关密钥信息。
  • 验证是否为HMAC哈希:这段数据可能是基于卡号生成的HMAC校验值,用卡号123123123123123作为密钥,尝试SHA-1、SHA-256等常见哈希算法生成HMAC,与解码后的二进制数据对比。
  • 手动分析二进制结构:拆解字节寻找固定格式特征:比如首字节00可能是版本/标志位;提取连续4字节或8字节数值,转换为Unix时间戳看是否合理;尝试将部分字节转换为BCD码、ASCII字符串,排查是否存在有意义的结构化信息。
  • 查找社区逆向解析资料:虽然官方未公开协议,但逆向工程社区或论坛中可能有用户分享过Clubcard二维码的完整结构解析,重点关注冒号后数据的编码/加密规则。
  • 尝试Protobuf/ASN.1解析:不少企业会用Protobuf或ASN.1序列化数据,可使用protoc等工具尝试解析二进制,若缺少.proto文件,也可通过逆向工具猜测字段类型。
  • 排查字节序与编码转换:检查数据是否采用大端/小端字节序,或是经过UTF-16、UTF-32编码,尝试转换后查看是否出现可读内容。

内容的提问来源于stack exchange,提问作者Sinus tentaclemonster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:45:31