ARTICLE · 1311635
CTF 逆向 AI 解题工作台:AI 工具循环 + 本地验证闭环,MCP 接入 IDA/JEB/Burp;自动求解 APK/PE/ELF等

文章来源:夜组安全
工具介绍
CTF-RE-TOOL v1.7.3一个基于 Electron 的 CTF 逆向 AI 解题工作台(Windows 桌面应用)。把「静态分析 → 动态 Hook → 算法还原 → 本地验证」串成一条 AI 可自主驱动的流水线,并通过 MCP 实时接入 IDA / JEB / Burp,内置 11 个逆向方法论技能(Skills)与可检索的结构化知识库(Wiki)。

核心是解题成功率,不是功能堆砌:
AI 工具循环(Tool-Use):AI 自主调用 JEB/IDA/Frida/Python 等工具反复推进,而不是一次性问答;分阶段提示词(①收集 → ②定位算法 → ③写脚本本地验证 → ④结论)。 本地验证闭环:AI 给出的每个 flag 都附 [VERIFY]契约,工具自动生成 Python 复现脚本本地跑一遍,标注 ✅已验证 / ⚠️未验证——不靠"AI 说解出来了"就当解出来了。结构化知识库:54 页可检索手法/题解页(含 43 篇历年逆向题,带 attack_chain解法链 /reasoning_chain思维链 /failed_attempts避坑),按关键词结构化加权检索,命中即注入 AI 上下文。经验自进化:每次解题沉淀的多步攻击链写入经验库,下次同类题自动速查复用。
功能特性

三栏布局:左侧文件分析与工具区,中间 AI 对话,右侧输出日志 / Frida Hook / 快速操作。
1. 文件拖入+自动识别
支持 APK、EXE/PE(含 .NET 识别)、ELF/SO、DEX、PYC(全版本魔数)、JAR/.class、Lua 字节码、WASM、Mach-O ZIP 按内容精确区分 APK / JAR / 普通 ZIP .NET 程序集自动提示 dnSpy/ilspycmd 流程;APK 自动检测 Unity IL2CPP(global-metadata.dat) 显示文件详细信息(MD5、SHA256、大小等)
2. 一键调用逆向工具
静态分析工具:
IDA Pro - 静态分析 DIE - 查壳工具 JEB - Android 分析 jadx - DEX→Java 反编译
脱壳工具:
UPX - 脱壳工具 apktool - APK 解包
Python工具:
pycdc - Python 字节码反编译 pycdas - Python 字节码反汇编
3. Frida 自动 Hook
自动生成针对题目情报的 Hook 脚本(从静态分析提取类名/native 方法/算法特征注入模板,而非固定模板) Java 层:Cipher、MessageDigest、String、SharedPreferences、Base64、 Arrays.equals等Native 层:主动扫描 Java 声明的 native 方法 + RegisterNatives 拦截(动态注册、无 Java_导出时的唯一入口)+ 符号级findFuncJCE 通杀自吐:Hook Cipher.init/doFinal,不追业务代码直接吐算法/密钥/明文进程内解密出 flag:把已求得的 key/iv/密文注入 Hook,在 App 进程内直接 decrypt 并 send('[FLAG]...'),绕过关卡反检测:Frida 文件/端口探测绕过、SSL pinning 绕过(Java 层 + native SSL_read/write)、反调试绕过实时显示 Hook 日志;滚动窗口抓取(每来数据续 60s,绝对上限 10min);spawn 失败自动回退 attach
4. 解密脚本生成
自动生成 Python 解密脚本 支持常见算法:AES、DES/3DES、TEA、XXTEA、RC4、XOR、Base64(含自定义码表)、CRC32、SM4(国密) RSA 攻击脚手架(小指数/factordb/Wiener/共模)、Z3 约束求解、angr 符号执行模板
5. 反调试绕过
Android:
ptrace 检测绕过、Debuggable 标志清除 Frida 文件/端口检测绕过、TracerPid 检测绕过 System.exit / Process.killProcess / Debug.isDebuggerConnected 绕过
Windows PE(新增):
IsDebuggerPresent / CheckRemoteDebuggerPresent / PEB BeingDebugged NtGlobalFlag / NtQueryInformationProcess / OutputDebugString 绕过
APK 重打包(新增):
apktool 解包 → smali patch → 回编 → zipalign + jarsigner 签名 一键批处理
6. AI 分析引擎(流式输出)
兼容 CCSwitch / Claude Code 的 Anthropic /v1/messages接口(Base URL 留空则由环境变量或设置页提供)SSE 流式逐字渲染,发送按钮可随时停止 AI 任务 429/5xx 自动退避重试; max_tokens可配置;连接 60s / 空闲 120s 超时Tool-Use 循环(最多 25 轮,工具结果自动截断防止撑爆上下文) 分阶段解题提示词:APK/PE/ELF 深度求解按「①收集代码+数据 → ②定位算法 → ③写脚本本地验证 → ④出结论」四阶段推进,强制"先证据后结论",禁止跳步臆测 模型分级(cascade):先用快速模型初解,未出 flag 再升级思考模型,兼顾速度与成功率 AI 系统提示注入真实 MCP 连接状态、已收集结论(避免重复劳动/推翻已验证项)、知识库索引与经验速查;flag 用 [FLAG]...[/FLAG]契约标记便于程序提取兜底模板针对性:AI 生成的 Frida 脚本失败时,回退模板会注入题目情报(包名、类名、native 方法、算法特征)做针对性 Hook,而非固定模板
7. Agent Skills 知识库(v1.2 新增)
skills/目录 + SKILL.md 格式,兼容 Anthropic Agent Skills / ljagiello·ctf-skills(MIT)内置 11 个中文方法论文档: ctf-writeup(提交级题解写作)、ctf-reverse-android、ctf-reverse-binary、ctf-reverse-tooling(Z3/angr/Unicorn 自动化求解 + 迷宫题)、ctf-reverse-langs(Python 字节码/Go/Rust/Lua 语言特定逆向)、ctf-iot-firmware(固件提取/解包/QEMU 仿真)、ctf-crypto-identify、ctf-antidebug、ctf-frida-dynamic、ctf-jsreverse(JS/Web 逆向五阶段)、ctf-dispatch(分流与卡题决策)AI 可通过 read_skill工具按需加载(渐进披露,不占固定提示词);系统提示只注入技能索引用户可往 %APPDATA%/ctf-reverse-tool/skills/或应用skills/目录放自己的 SKILL.md,重启即生效
8. CASE 证据体系 + 验证闭环(v1.2 新增)
拖入文件自动建案: cases/<题名>_<md5前8>/,含evidence/(MCP 采集物落盘)、scripts/、timeline.jsonl(全量日志时间线)、findings.json(结构化发现)flag/解题记录双写:原 solveNotes兼容保留,新增结构化 findings(含来源与时间戳)验证闭环:AI 按契约输出 [VERIFY]{"algo","key","ciphertext","expected"}[/VERIFY]→ 工具自动生成 Python 本地复现 → flag 标 ✅已验证 / ⚠️未验证本地枚举:AI 给出 [HYPOTHESES][...][/HYPOTHESES]候选组合(算法/密钥/字节序),工具并行枚举全部组合,命中即停;验证失败自动触发,也可聊天输入枚举假设手动触发
9. WP 双轨(v1.2 新增)
模板轨( wp命令 / "生成WP"按钮):升级为 findings 驱动——证据清单、flag 验证状态自动填充,无数据才留占位AI 轨( aiwp命令):按 ctf-writeup 技能生成"摘要-分步解法-单一完整求解脚本-Flag"提交级题解,AI 失败自动回退模板轨
10. Burp MCP + JS 逆向(v1.3 新增)
Burp MCP 客户端:会话握手/工具发现与 IDA 同款(Streamable HTTP),AI 可搜索代理历史、取 HTTP 报文详情、调用插件暴露的任意工具 Burp 路径可配置(在设置页指定自己的启动器路径),左侧工具区一键启动,MCP 栅格一键连接, burp 启动/burp 历史聊天命令ctf-jsreverse 技能:五阶段流程(观察→捕获→复现→验证→记录);路径A 算法追踪四板斧 vs 路径B 环境伪装;JSVMP/瑞数/obfuscator.io 判型速查;案例坑库(TikTok X-Bogus、抖音 a_bogus、瑞数 sdenv) node_js 验证契约:AI 还原的 JS 加密函数经 [VERIFY]{"algo":"node_js","code":"function decrypt(input){...}","input":"参数原文","expected":"密文"}交给本地 node 复现,与抓包密文比对全局经验库(reverse-skill 进化层思路):解题成功自动入库(内容级去重,不重复),下次解题自动注入 AI 提示词速查;也可用 经验 <一句话>手动回写、查经验查看
11. 结构化知识库 + 检索体系(v1.3.5 重构)
三层结构: AI-SEARCH-INDEX.md(全局检索索引,按技术标签定位资源)→PAYLOAD-CHEATSHEET.md(逆向套路/Payload/脚本速查)→ 各专题页历年逆向题条目库( wiki/reverse/,43 篇):从公开题库筛选的纯逆向题,每题一个页面,带结构化 meta:attack_chain—— 完整解法链(特征 → 关键步骤 → 坑 → 出 flag)reasoning_chain—— 思维链(怎么想到这条路的)failed_attempts—— 走不通的路与原因(往往比成功更有价值)key_observations/key_payload/one_liner/tags/difficulty结构化加权检索: wiki_search解析 YAML meta,命中tags/attack_chain/reasoning_chain/key_observations/one_liner的条目大幅加权(远高于正文散命中),带 meta 的条目优先返回one_liner+attack_chain摘要,让 AI 一步拿到"这道题该怎么解"手法专题: wiki/frida/(多阶段 Hook、进程内解密出 flag、Native 密钥反演、参数/IV 编码坑、环境排障、native 定位+RegisterNatives+反检测+脱壳)、wiki/firmware/(固件解包/QEMU 仿真踩坑)两处可放页:应用内置 wiki/(随 exe 分发)+%APPDATA%/ctf-reverse-tool/wiki/(用户自加,重启即生效);系统提示只注入页面索引,不占固定上下文设计参考 Des-CTF-Knowledge 知识库的「结构化 meta + attack_chain + 分段索引」范式(仅借鉴设计思路,纯文本条目,零样本落地)
12. 分组密码识别与变体求解(v1.7 新增)
S 盒知识库( electron/crypto-tables.js):AES / AES 逆 / SM4 完整 S 盒、AES Rcon、SM4 FK/CK/旋转常量全部固化,扫描器不再散落硬编码S 盒三级关系判定: classifySbox()逐个比对标准表,报出exact(完全相同)/ 逐项XOR·ADD/ GF(2) 仿射(高斯消元求 8×8 可逆矩阵 + 回代验证 256 项),并给出能否精确还原非线性度指标:Walsh 谱计算(标定值 AES/SM4 = 112,随机置换 90~96)。只描述设计强度,不据此劝退——CTF 大量题目用随机置换当 S 盒,照样能解 结构推理 inferCipherStructure():SM4 CK 固定差分 → SM4 骨架;AES S 盒关系 + Rcon → AES 骨架;未知结构明确说"未知"而不是硬猜多骨架解密器: SM4:枚举 密文 × FK × key × 16 种字节序/状态组合 × 3 种块内排列 AES:pycryptodome 主路径,枚举 key 长度 16/24/32(轮数 10/12/14)× 字节序 × 状态排列 DES/Blowfish:明确不支持,不假装能解 诚实边界:轮数被改 / MixColumns 矩阵被替换的变体不支持,未命中时明确提示"不代表算法认错"
13. AI Agent 运行时(v1.7.3 新增)
借鉴开源项目 openclaude 的上下文管理与可靠性设计(electron/agent-runtime.js,参数逐项对照其源码标定):
| 大输出落盘 | |
| 旧结果微压缩 | tool_result 替换为占位串,只保留最近 6 条;**绝不清 is_error**(错误是模型纠错的依据) |
| 确定性上下文压缩 | |
| 连续调用拦截 | sha256(工具 + 完整入参) |
| 跨轮失败环 | |
| 工具预检 | |
| 结构化经验检索 | |
| 会话续跑 | tool_use / 孤立 tool_result(不清洗会直接 400),末尾注入续跑指令 |
| API 重试 | retry-after、429 上限 3、4xx 不重试 |
界面:AI 调用工具时显示实时步骤条(⏳ 正在反编译 main → ✅ 1.2s · 3400 字符),长任务不再"看起来卡死"。
工具获取
https://github.com/ip2867/ctf-re-tool

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并致歉。祝愿每一位读者生活愉快!
本公号发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
推荐阅读


*HTTP 502/504 排查思路:Nginx、上游服务与超时链路

















































































