当前位置: 首页 > article >正文

我让 AI 学会了“拆“App——Antigravity 逆向分析能力搭建手记

你能想象吗对着 AI 说一句帮我分析这个 APK它就自己打开 IDA、拆解代码、Hook 运行时、提取密钥、还原源码……全程不用你碰一下鼠标。先说结论我给 AI 编程助手 Antigravity 装上了 4 把瑞士军刀让它从一个只会写代码的助手变成了一个能独立完成逆向分析的安全研究员。整个过程的核心只有一件事通过 MCP 协议把本地逆向工具的能力喂给 AI。这事儿的背景Antigravity 是 Google DeepMind 做的 AI 编程助手你可以把它理解为一个住在你电脑里的超级程序员。它能写代码、调 bug、搜文档但有个致命短板——它不会用逆向工具。就好比请了一位顶级厨师但厨房里没有刀和锅。而我手上有这些刀和锅工具干什么用IDA Pro把编译后的程序翻译回人能读的代码AndroidKiller把 Android 安装包APK拆开看里面的零件Frida在 App 运行的时候偷看它在做什么ADB遥控你的 Android 手机问题是这些都是独立的桌面软件AI 根本不知道它们的存在。MCP给 AI 装上手这里要介绍一个关键概念——MCPModel Context Protocol模型上下文协议。说人话就是一套让 AI 调用外部工具的标准接口。你可以把 MCP 想象成一个万能遥控器。每个工具是一台不同的电器MCP 就是那个能控制所有电器的遥控器。AI 拿着这个遥控器就能操作任何接入的工具。┌─────────────┐ MCP 协议 ┌──────────────┐ │ │ ◄──────────────► │ IDA Pro │ │ │ ◄──────────────► │ AndroidKiller│ │ Antigravity │ ◄──────────────► │ Frida │ │ (AI 助手) │ ◄──────────────► │ ADB │ │ │ ◄──────────────► │ 更多工具... │ └─────────────┘ └──────────────┘怎么接入三步搞定第一步给每个工具写一个翻译官就是一个 Python 小脚本告诉 AI 这个工具能做什么、怎么调用。比如 IDA Pro 的翻译官长这样简化版# 注册一个叫 ida-pro 的工具服务 mcp FastMCP(ida-pro, instructions二进制静态分析工具) # 告诉 AI你可以用这个功能反编译函数 mcp.tool() async def decompile_function(binary_path, function_name): 把编译后的代码翻译回人能读的版本 # 后台调用 IDA Pro 完成分析 ...一共写了 4 个翻译官注册了35 个能力。第二步登记到 Antigravity在配置文件里告诉 AI嘿你现在有这 4 个新工具可以用了。第三步重启 AI完事重启后AI 的工具栏里就多了 35 个新按钮。35 个新能力都能干嘛直接上图 IDA Pro — 代码翻译机能把编译后的二进制程序翻译回接近源代码的形式。就像把一本被翻译成外星语的书重新翻译回中文。反编译函数、列出所有函数名提取程序中的字符串比如密钥、URL追踪某个函数被谁调用了 AndroidKiller — APK 拆解工能把 Android 安装包拆成零件看清里面的每一行代码。反编译 APK、重新打包阅读和搜索底层代码smali解析应用的配置清单 Frida — 运行时侦探能在 App 运行的时候实时拦截和修改它的行为。就像给正在运转的机器装上透视镜。注入自定义脚本拦截函数调用看参数和返回值枚举所有加载的类和方法 ADB — 手机遥控器远程控制 Android 设备的一切。安装/卸载 App传文件、执行命令截屏、看日志实战AI 自主完成一次完整逆向工具装好后我们拿一个真实的 Cocos2d-x 游戏 App 做了测试。注意以下全过程由 AI 自主完成我只负责看着。 第一步AI 先看了一眼 APKAI 自动解析了应用清单搞清楚了应用的基本信息包名、入口、权限然后把 APK 解压找到了核心的引擎库文件。 第二步AI 发现代码被加密了应用的 JavaScript 源码被加密成了.jsc文件。AI 在 22MB 的引擎库里搜索字符串找到了xxtea_decrypt和jsb_set_xxtea_key——确认使用了 XXTEA 加密算法。️ 第三步AI 用两种方式找到了密钥方法一静态分析AI 调用 IDA Pro 反编译了应用的启动函数在代码里看到了密钥的一部分。但由于编译器优化密钥被截断了。方法二动态分析AI 立刻切换策略通过 Frida Hook 了密钥设置函数在 App 运行时捕获到了完整密钥。两条路线交叉验证最终确认了加密密钥。 这里最让我惊讶的是AI 在静态分析遇到困难时自己决定切换到动态分析方案。不是我告诉它的。 第四步AI 批量解密了所有源码AI 写了一个 Python 脚本用提取到的密钥一次性解密了 27 个加密文件。解密流程是加密文件 → XXTEA 解密 → Gzip 解压 → 可读的 JavaScript 源码 ✅ 第五步AI 分析了源码结构还原出源码后AI 自动分析了应用的完整架构——模块系统、网络协议、调试接口甚至找到了开发者遗留在代码中的内部调试系统。过程中踩的坑也是最有意思的部分坑 1路径里有空格IDA Pro 装在C:\Program Files\...空格导致命令行解析出错。AI 自己发现了问题给路径加上了引号修复。坑 2SDK 版本 API 变了MCP SDK 更新后构造函数的参数名改了description→instructions。AI 用 Python 的反射机制自动检测了正确的参数名。坑 3线程安全问题最精彩的一个Frida 脚本在自己的线程运行但 Cocos2d-x 的 JS 引擎函数必须在GL 渲染线程调用。直接调用 程序崩溃。AI 的解决方案非常巧妙Hook 了引擎的帧更新函数每秒调用 60 次把要执行的代码排队在下一帧由正确的线程安全执行。这就像你不能在高速路上突然停车修轮胎但可以在下一个服务区停下来修。坑 4内存结构未知AI 需要读取 JS 引擎的返回值但不知道返回值在内存中长什么样。解决方法先让引擎计算42已知结果再计算hello已知类型通过对比内存 dump 推导出数据结构。就像用已知答案的数学题来推导公式。这套方案的意义 效率飞跃传统逆向分析在 5 个软件窗口之间来回切换手动复制粘贴数据。现在对 AI 说一句话它自己协调所有工具完成分析。 即插即用这 4 个 MCP Server 脚本是通用的换个 App 照样能用。就像你买了一套厨具做中餐能用做西餐也能用。 AI 的判断力最让人印象深刻的不是工具本身而是 AI在工具之间做出的决策静态分析遇到瓶颈 → 自动切换动态分析一种 Hook 方式崩溃 → 自动尝试替代方案字符串搜索没结果 → 改用二进制模式搜索最后工具的能力边界就是 AI 的能力边界。通过 MCP 协议我们只是把 AI 的能力边界往外推了一步。但就是这一步让 AI 从会写代码变成了能拆程序。如果把这个思路推广开来——安全审计、固件分析、协议逆向、漏洞挖掘——每个领域的专业工具都可以用同样的方式接入 AI。这不是未来这是已经发生的事情。欢迎关注协议分析与还原一起用AI实现各项能力的全面跃升。

相关文章:

我让 AI 学会了“拆“App——Antigravity 逆向分析能力搭建手记

你能想象吗?对着 AI 说一句"帮我分析这个 APK",它就自己打开 IDA、拆解代码、Hook 运行时、提取密钥、还原源码……全程不用你碰一下鼠标。先说结论我给 AI 编程助手 Antigravity 装上了 4 把"瑞士军刀",让它从一个只会写…...

手机号查QQ号终极指南:3分钟掌握Python逆向查询技巧

手机号查QQ号终极指南:3分钟掌握Python逆向查询技巧 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾需要快速验证手机号与QQ号的绑定关系?手机号查QQ号工具是一个简单高效的Python开源项目&#xff0…...

Zotero Duplicates Merger终极指南:3步告别文献重复困扰

Zotero Duplicates Merger终极指南:3步告别文献重复困扰 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 还在为Zotero文献库中堆积…...

准备转型AI产品经理的朋友,建议看看这本书

本文从《AI即未来:普通人用好人工智能的18大工作场景》出发,深入探讨了AI大模型的选择、部署及评估。文章指出,面对众多AI工具,应根据任务需求、输出质量、成本等因素进行选择,并强调AI更像助手,需人类监督…...

无国界技术创业:构建全球化产品支持与远程协作体系

1. 从“车库”到“云端”:无国界创业的底层逻辑变迁 十年前,如果你在硅谷创立一家芯片设计工具(EDA)或嵌入式软件公司,头两年的客户拜访路线图大概就是101号公路沿线。工程师可以早上开车去圣何塞的客户办公室&#xf…...

Azure AI实战:从Demo到生产级智能应用架构全解析

1. 项目概述与核心价值最近在探索Azure AI服务时,我偶然发现了一个名为“Azure-AIGEN-demos”的GitHub仓库。这个项目由开发者retkowsky维护,乍一看名字,你可能会觉得它又是一个普通的Azure AI示例代码合集。但当我真正深入进去,花…...

清华大学:Token消费学研究报告(附完整报告下载)

清华大学发布Token消费学研究报告,指出Token已演变为企业经营AI的核心资源单位。报告从供给侧和需求侧分析Token的经济学角色,揭示五大消费驱动机制,标志着AI管理进入精细化经营时代。关注GIS极客公众号,回复“清华Token”获取完整…...

卷积运算:数字信号处理的核心原理与实践

1. 卷积在数字信号处理中的核心地位第一次接触卷积这个概念时,我正坐在实验室里调试一个音频滤波器。示波器上的波形始终无法达到预期效果,直到导师走过来画了那个著名的"翻转滑动"示意图。那一刻我突然明白,卷积不是抽象的数学运算…...

CodeContext:基于MCP协议与AI模式检测,让AI编程助手深度适配你的代码库

1. 项目概述:让AI助手真正“懂”你的代码库如果你和我一样,每天都在用Cursor或者GitHub Copilot这类AI编程助手,那你肯定也经历过这种时刻:AI给你生成了一段看起来功能正确的代码,但它的错误处理方式、导入风格、命名习…...

工业现场故障排查:从温度敏感故障到CMOS浮空输入根因分析

1. 项目概述:一个“脾气暴躁”的堆垛起重机 在工业现场,最让人头疼的往往不是那些彻底罢工的设备,而是那些“时好时坏”、“看心情工作”的间歇性故障。它们像幽灵一样,在你想复现问题时消失得无影无踪,等你一离开又悄…...

Linux系统级音频处理:JDSP4Linux架构、DSP效果器与实战调音指南

1. 项目概述:从“听个响”到“听个准”的桌面音频革命如果你是一个对电脑音质有追求的Linux用户,或者是一个音频领域的开发者,那么你很可能经历过这样的困扰:系统自带的音频管理就像个“大锅饭”,所有声音都混在一起&a…...

创业团队如何利用Taotoken进行多模型选型与成本控制

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 创业团队如何利用Taotoken进行模型选型与成本控制 对于初创团队的技术负责人而言,在有限的预算下既要满足快速迭代的产…...

基于Git与Markdown的文档即代码协作平台CORP实践指南

1. 项目概述:一个面向未来的开源协作平台 最近在开源社区里,一个名为“CORP”的项目引起了我的注意。这个项目全称是“CORP-md/CORP”,从名字上看,它似乎是一个与Markdown文档和协作相关的工具。作为一个长期在开源项目和团队协作…...

数据可视化项目架构全解析:从核心原理到React+ECharts工程实践

1. 项目概述:数据可视化的价值与“SKY-lv/data-visualization”的定位在数据驱动的时代,我们每天都被海量的信息包围。无论是业务报表、用户行为日志,还是传感器采集的时序数据,它们本身只是一堆冰冷的数字。如何让这些数据“开口…...

Godot资源解包工具:专业级游戏资源提取技术方案

Godot资源解包工具:专业级游戏资源提取技术方案 【免费下载链接】godot-unpacker godot .pck unpacker 项目地址: https://gitcode.com/gh_mirrors/go/godot-unpacker Godot资源解包工具是一款专为Godot游戏引擎设计的专业级资源提取解决方案,能够…...

基于硬件虚拟化的AI智能体安全隔离方案Clawcage设计与实现

1. 项目概述:为AI智能体打造一个坚不可摧的“笼子”如果你最近在尝试运行一些本地的AI智能体,比如Claude Desktop、Cursor的Agent模式,或者各种开源的AI助手工具,心里可能总会有点打鼓。这些工具功能强大,但它们背后运…...

基于OCR与NLP的智能账单分析系统:从数据处理到消费洞察

1. 项目概述:一个AI驱动的家庭账单智能分析系统最近在GitHub上看到一个挺有意思的项目,叫ai_code_family_bill。光看名字,你大概能猜到它和家庭账单、AI分析有关。作为一个长期和代码、数据打交道的技术人,我第一反应是&#xff1…...

创业早期如何利用导师与代理模型构建核心支持体系

1. 创业早期支持体系的核心价值在技术驱动的创业领域,尤其是半导体、电子设计自动化这类高门槛行业,一个普遍存在的认知是:只要技术足够领先,产品足够创新,成功便是水到渠成。然而,现实往往比这复杂得多。我…...

AI建站工具怎么选?一份让你不踩坑的选型标准与对比指南

AI建站工具怎么选?一份让你不踩坑的选型标准与对比指南市面上号称AI建站的工具层出不穷,有的只是给模板加了个AI抠图功能,有的则能真正从0生成代码。对于非技术背景的中小企业主或运营来说,选错工具不仅浪费钱,更浪费时…...

阴阳师自动化脚本终极指南:解放双手,轻松刷百鬼夜行

阴阳师自动化脚本终极指南:解放双手,轻松刷百鬼夜行 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 你是否厌倦了在阴阳师百鬼夜行中反复点击屏幕&#x…...

抖音内容备份革命:如何用开源工具3分钟搞定无水印批量下载?

抖音内容备份革命:如何用开源工具3分钟搞定无水印批量下载? 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browse…...

从IMU到GPS:手把手教你用ESKF实现机器人定位(附代码避坑指南)

从IMU到GPS:手把手教你用ESKF实现机器人定位(附代码避坑指南) 在机器人定位领域,误差状态卡尔曼滤波(Error-State Kalman Filter, ESKF)正逐渐成为处理IMU和GPS数据融合的主流方法。本文将带您深入理解ESK…...

管道工程必看避坑指南粮油储罐通气帽选型要点

在粮油仓储的体系当中,通气帽看起来是一个不显得很起眼的小零件,却常常在关键的时候出现变化。我们看到很多项目,前期设计的时候非常华丽色彩很鲜艳,到后期运行的时候经常出现故障,去探究原因,原来是通气帽…...

专业右键菜单管理:用ContextMenuManager一键重塑Windows操作效率

专业右键菜单管理:用ContextMenuManager一键重塑Windows操作效率 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 在Windows生态中,右键菜…...

厘米级无感定位 + 毫秒级动态重建,镜像视界破解智造虚实脱节难题

厘米级无感定位 毫秒级动态重建,镜像视界破解智造虚实脱节难题植根数字孪生与视频孪生核心赛道,镜像视界(浙江)科技有限公司依托自研视频原生空间智能技术体系,以厘米级无感定位与毫秒级动态重建两大核心技术能力&…...

[具身智能-694]:万物皆智能,万物皆 ROS2:未来所有带感知、能运动、可交互的硬件终端,都能用 ROS2 做底座,智能普惠全域设备。万物接入 ROS2,就是接入标准化、开源化、互联化的智能时代。

一、为什么说「万物皆智能」从传统机电设备 → 感知 决策 执行一体化:普通家电、工业设备、移动载体、穿戴设备、楼宇设施,都在加传感器、算力、通信、自主决策,不再是被动受控,而是具备自主感知、逻辑判断、联动协作的智能属性…...

如何快速掌握WarcraftHelper:魔兽争霸III终极辅助工具完整指南

如何快速掌握WarcraftHelper:魔兽争霸III终极辅助工具完整指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III的画面拉…...

基于MCP协议构建技术生态分析工具:架构设计与工程实践

1. 项目概述:一个技术生态分析工具的诞生最近在折腾一个挺有意思的东西,一个叫apifyforge/tech-ecosystem-analysis-mcp的项目。光看这个名字,可能有点唬人,但说白了,它就是一个用来“解剖”技术生态系统的工具。想象一…...

2026健康一体机生产厂家选型与厂商能力全景分析

2026健康一体机生产厂家选型与厂商能力全景分析健康一体机是一种集多项健康检测与管理功能于一体的智能终端设备,可快速完成身高、体重、血压、血糖、血氧、心率、心电、体温、BMI、脂肪含量、基础代谢率等基础体征测量。设备支持数据自动记录、建档、上传与智能分析…...

死锁四大必要条件解析

好的,针对“死锁考点与高频面试题”,我将直接进行核心内容解构与推演,并生成符合规范的答案。死锁是多线程并发编程中的核心难点与高频考点,其核心围绕定义、条件、场景、检测、预防与避免展开。一、 死锁核心定义与必要条件死锁是…...