CTF 逆向 AI 解题工作台:AI 工具循环 + 本地验证闭环,MCP 接入 IDA/JEB/Burp;自动求解 APK/PE/ELF等
ip2867
ip2867
夜组安全
2026年10月19日 07:30
青海
去阅读
免责声明
由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!所有工具安全性自测!!!VX:NightCTI
朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把夜组安全“设为星标”,否则可能就看不到了啦!
工具介绍
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_导出时的唯一入口)+ 符号级findFunc - JCE 通杀自吐: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,参数逐项对照其源码标定):
| 能力 | 机制 |
|---|---|
| 大输出落盘 | 超过 24k 字符的工具输出写盘,回传 60% 头 + 40% 尾预览(错误堆栈/flag 常在尾部)。旧实现只截头会丢关键信息 |
| 旧结果微压缩 | 每轮把旧 tool_result 替换为占位串,只保留最近 6 条;\\绝不清 is_error\\(错误是模型纠错的依据) |
| 确定性上下文压缩 | 超 90k token 触发,保留首条任务 + 最近 10 条 + 抽取的硬事实(偏移/常量/骨架/已排除路线);熔断 3 次 / 冷却 5 分钟;不额外调模型 |
| 连续调用拦截 | sha256(工具 + 完整入参) 连续 3 次即拦(不做前缀截断,否则\"同文件不同尾部的两次写\"会被误判) |
| 跨轮失败环 | 按 (工具,错误类别) / 类别 / 路径 三键累计;第 2 次提醒、第 3 次判死;NoSymbol 时给出候选函数名 |
| 工具预检 | 执行前做确定性检查,错误必带\"怎么改\":路径不存在给相近文件、IDA 缺参给补救工具建议 |
| 结构化经验检索 | 按当前题特征词给经验条目打分,只注入命中的 top 6(≤600 字符),零命中不注入 |
| 会话续跑 | 追加式 JSONL;恢复时剥离未完成的 tool_use / 孤立 tool_result(不清洗会直接 400),末尾注入续跑指令 |
| API 重试 | 5 次指数退避 + 抖动、优先 retry-after、429 上限 3、4xx 不重试 |
界面:AI 调用工具时显示实时步骤条(⏳ 正在反编译 main → ✅ 1.2s · 3400 字符),长任务不再\"看起来卡死\"。
工具获取
点击关注下方名片进入公众号
回复关键字【261019】获取下载链接
往期精彩
往期推荐
OmniNex一个可视化网络安全靶场编排平台 | 渗透测试演练、漏洞验证复现、攻防对抗教学
AuthKit — 首个多维度辅助检查鉴权安全的burpsuite插件 | 辅助发现未授权访问、水平越权、垂直越权及 BOLA / IDOR 风险
AI 赋能的漏洞播报系统,7\*24 小时监控全网漏洞播报,间隔10分钟自动抓取
psnb-obs — 破甲作战系统:LLM 安全评测与红队工具链
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论