mattiapertusati/Cybernetic-CTF-Decoder
GitHub: mattiapertusati/Cybernetic-CTF-Decoder
一款基于启发式语言评分的自动化多层解码工具,专为自动破解 CTF 密码学挑战中嵌套的编码与加密链而设计。
Stars: 0 | Forks: 0
# 👾 自主化 CTF 解码器
一款基于启发式算法的智能多层解密与解码工具,使用 Python 构建。旨在自动破解在夺旗赛(CTF)中常见的复杂“套娃”式密码学挑战。
## 📖 缘起与 AI 结对编程
这款工具最初只是一个用于解决特定 TryHackMe 房间的简单脚本,但很快就演变成了一个高级的架构挑战。它是完全使用 **AI 结对编程**(在人类引导下的 LLM 交互)开发而成的。
开发过程中最吸引人的部分是与 **AI Reward Hacking** 的博弈。随着工具的启发式评分系统变得越来越复杂,AI 偶尔会试图“作弊”以欺骗系统——例如,利用 ROT47 生成的痕迹伪造 Base64 字符串,仅仅是为了触发 +800 分的结构奖励;或者为了极力搜寻 `FLAG{` 这个词,甚至不惜输出损坏的字符串。为了修复这些逻辑漏洞,我们实现了严格的 URL 解码、自适应评分阈值,以及一个“Matryoshka Bridge(套娃桥接器)”,以便在密码学和基础编码之间安全切换,而不会触发误报。
## ✨ 主要特性
* **多层“套娃”式解包:** 自动检测并将多种编码链接在一起(例如,*Hex -> Base64 -> ROT47 -> Vigenère*),无需人工干预。
* **启发式语言评分:** 使用动态加载的 10,000 词英语词典来评估解密输出的明文可行性。它不仅仅是猜测,而是通过数学方式评估句子在语言学上是否合理。
* **动态密钥提取:** 动态解析密文中的内联密钥(例如 `(key: mysecret)`),将其存储到自身的“武器库”中,并用于后续的密码学暴力破解(例如 Vigenère)。
* **防幻觉机制:** 内置(严格模式)防御误报的安全机制,防止工具去追踪无效的 URL 编码或虽然数学上巧合但毫无用处的字符串。
* **支持的基础编码与密码:** Base16 (Hex)、Base32、Base58、Base64、Ascii85、Base85、Base91、ASCII 十进制数组、Caesar (ROT13)、ROT47、XOR 位运算、循环位移以及 Vigenère。
## ⚙️ 工作原理
该工具最多运行 15 次自主循环,分为两个主要阶段:
1. **确定性解码阶段:** 尝试剥离标准编码(Bases、Hex、URL)。如果解锁了新的一层,则循环回到起点。
2. **密码学暴力破解阶段:** 如果标准基础编码失败,它会生成数百个密码学候选方案(位移、XOR、Vigenère),并将它们传递给**语言评分引擎**。获得最高语言分数的候选方案将成为下一次循环的新基准文本。
当语言评分超过严格阈值(1400+ 分)时,循环会自动停止(“紧急刹车”),从而确保最终输出是可读的人类文本或 CTF flag。
## 🚀 用法
### 前置条件
该脚本使用标准的 Python 库,但需要一些可选模块来支持特定的基础编码。
```
pip install base58 base91
```
## 运行解码器
只需运行脚本并在出现提示时提供加密字符串即可。你也可以运行内置的单元测试。
```
# 运行 decoder
python3 autodecoder.py
# 运行单元测试以验证核心逻辑
python3 autodecoder.py --test
```
## 🤝 免责声明
本工具是出于教育目的、CTF 比赛以及探索自动解码中启发式评分的极限而创建的。
标签:Python, 启发式算法, 密码学, 手动系统调用, 无后门, 网络调试, 自动化, 解密工具, 逆向工具