前一阵子去京东沙龙做了一次《升级的猫鼠游戏:AI时代的移动攻与防》的讲座,主要内容是在 AI 时代如何进行高效的安全开发和逆向工程。
核心观点是:AI 提高了每个人的效率——逆向工作者提高了逆向效率,安全开发者提高了开发效率。攻防的本质不变,但作为相关工作者,我们必须提升自己的核心能力,才能在这场升级的对抗中稳住脚跟。
今天分享的内容包括:


经验类知识指的是你从 0 到 1 逆向一个完整过程的记录,包括在哪些地方遇到了什么问题,以及如何解决的。
这部分内容不一定出自自己,论坛上有大量教程,我的历史帖子也可以作为输入。

什么时候使用?
当你逆向一个新的 App 时,把目前的进度输入进去,可能会遇到意外惊喜。
可能遇到的问题: 知识过多导致无法索引。但随着大模型发展,Cursor 等工具已经可以索引 40-50 万行代码。特别是 Augment 的 MCP 索引引擎,能够索引几百万行。
比如 imyang 大佬开源的多个脚本资源:

我们可以 clone 下来,整理到一个文件夹进行索引使用。此外,日常中写的功能性脚本、培训课件等,都可以作为整理输入。
有了这些索引输入,生成的脚本可以一键使用,没有幻觉。
Cursor
别看它是一个代码工具,索引效果非常好,也可以一键生成脚本。

FastGPT
项目地址:10eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9j5h3u0J5K9h3&6Y4i4K6u0r3c8X3q4K6N6p5N6b7g2l9`.`.
具体搭建教程可以参考项目 README。可以搭配线上的索引模型和问答模型,也可以本地部署,做成问答 Bot 形式。
知识库本质上就是一群 Markdown 文件,使用索引模型进行索引,然后把结果喂给问答模型。我们完全可以自建。
参考教程:ad4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6*7K9s2g2S2L8X3I4S2L8W2)9J5k6i4A6Z5K9h3S2#2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8U0t1%4z5e0b7%4y4K6R3J5x3K6V1J5
如果觉得本地索引模型难度较高,可以借用现成的方案:
Ace-Mcp-Node:1e1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6&6k6i4g2^5N6h3q4F1i4K6u0r3b7h3y4W2i4K6u0V1e0h3y4H3i4K6u0V1e0X3!0V1k6b7`.`.
这个项目逆向了 AugmentCode 的索引功能,我们可以直接通过 MCP 协议调用索引引擎——全世界最厉害的索引引擎为你助力。
更新: 在写这篇文章后的几天,AugmentCode 官方就提供了 MCP 服务,欢迎大家体验官方版本:4c3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8$3y4K6i4K6u0W2j5i4g2Y4L8h3g2F1N6r3y4G2k6r3g2Q4x3X3g2U0L8$3#2Q4x3V1k6U0L8$3&6@1k6i4S2@1i4K6u0V1M7$3g2J5N6X3W2U0k6i4y4Q4x3V1k6E0j5%4m8Q4x3V1k6G2N6X3g2J5N6X3W2W2N6H3`.`.
自从 MCP 出来已经很久了,大家可能平时用得不多。今年五月,我写了一篇 MCP 环境配置教程,里面讲的大部分内容偏基础。随着发展,大部分 MCP 已经可以自动识别你电脑已安装的工具并自动配置。
但我认为大家还是有必要懂 Python 环境配置——如果你想开发自己的 MCP,这是必不可少的一环。
我理解的 MCP 概念: MCP 是自动向对话中添加上下文的工具,是 AI 主动获取上下文的工具。
比如在索引知识库时使用 Ace-Mcp-Node,它会主动索引好知识并输入回大模型;或者在逆向 SO 时使用 ida-pro-mcp,它会自动获取你要分析的函数的完整伪代码,输入回大模型,保持连贯性。
由于逆向领域比较冷门,AI 并没有得到有效训练(不过 Frida 脚本的表现还可以)。
当我们需要解除 Java 和 Native 的混淆时,经常要写脚本。这时困难就来了——AI 总是写一些不存在的 API,自己胡编乱造。这不是智力问题,最新的 Claude 4.5 Opus 也会乱写。
这时我们需要一个有力的工具来辅助开发。
推荐:Context7 MCP
602K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6@1k6i4S2@1y4#2)9J5k6h3y4G2L8g2)9J5c8Y4N6W2j5Y4y4A6N6r3g2K6i4K6u0r3j5i4m8A6i4K6g2X3j5X3W2F1j5i4u0&6i4K6g2X3L8X3W2F1K9X3p5`.
比如在写 Ninja 脚本时,可以便捷配置。具体配置教程可以参考前面的 ida-pro-mcp 教程,简单更改即可:
项目地址:1a7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6E0L8$3c8W2L8r3y4G2L8Y4c8W2P5s2c8H3M7X3!0@1L8$3y4G2L8q4)9J5c8Y4y4W2M7Y4k6W2M7Y4y4Q4x3V1k6@1M7X3g2W2i4K6u0r3L8h3q4A6L8W2)9J5c8Y4y4J5j5#2)9J5c8Y4y4W2M7i4g2W2L8Y4c8A6j5h3I4@1K9r3W2F1K9$3W2F1k6H3`.`.
配置方法与上面一致:
当 AI 思考深度不够、思考质量不足时,它会命令 AI 多思考,从而获得更好的回答质量。
使用 jadx-gui:

或者使用 jadx 命令:
然后导入 Cursor 进行分析:

著名项目 jadx-mcp 可以参考之前的 MCP 配置教程进行配置:
fedK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6*7K9h3&6B7j5g2)9J5k6r3y4G2k6r3g2J5i4K6u0r3K9X3q4V1P5q4)9J5k6r3q4A6i4K6u0V1L8h3y4H3
两者区别:
推荐策略: 优先尝试 Cursor,需要交叉引用时再配置 jadx-ai-mcp。
提出一个简单的小思路:从 Java 的角度去分析,反编译后使用 java-parser 作为 AST 解析,写相关的反混淆脚本,效率比写 jadx 和 jeb 脚本高很多。
并且可以让 AI 自动分析混淆的模式:

使用 ida-pro-mcp 或 Binary Ninja MCP,根据个人习惯选择。


也可以选择写脚本把 IDA 中的函数、字符串表等全部导出。
推荐:无名侠大佬的 IDA-NO-MCP
d28K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6b7y4r3&6V1j5e0m8K6i4K6u0r3d9f1c8m8i4K6u0V1e0V1!0Q4x3X3c8y4b7#2l9`.
即使你不懂花指令等概念,也可以让 AI 手把手教学,逐步解决:

我把 AI 分为执行类 AI、探索类 AI 和搜索类 AI,在不同场景区分使用。
可以理解为:我下达什么指令,你只需要按需完成,不需要做多余动作。
这种 AI 适合逆向工作、编码、去混淆等精准操作。
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 1小时前
被棕熊编辑
,原因: