mimic:把任意 App 变成 Python 库,900+ Star 的 API 拦截神器

你有没有想过,如果能像调用 Python 库一样调用任何 App 的 API,开发效率会有多高?今天给大家介绍一个本周在 GitHub 上爆火的开源项目——mimic,它做到了这件事。

mimic 是什么?

mimic 是一个 Python 工具,它能拦截任意 App 的网络流量,然后自动生成对应的 Python 客户端。你不需要去逆向 App、不需要翻阅 API 文档——你只需要正常使用 App,mimic 就能捕获请求、提取认证信息,并借助 AI 生成一个干净可用的 Python 客户端。

核心思路:捕获流量 → 提取认证 → 生成客户端。它基于 mitmproxy 实现流量拦截,用 Claude 读取捕获的端点来生成代码。生成的客户端基于 mimic.App 构建,提供命名方法、请求体模板,以及移动端 API 常见的多步骤调用链支持。

核心功能

  • 流量拦截与重放:通过 mitmproxy 代理捕获 App 的真实请求,自动提取认证信息(Bearer Token、Cookie、Session ID 等),然后在新请求中复用
  • 自动生成 Python 客户端:AI 分析捕获到的 API 端点,生成带有类型化方法的 Python 接口文件,可以直接导入使用
  • 多种数据源支持:支持从 mitmproxy 流、cURL 命令粘贴、或手动配置 Headers 三种方式创建会话
  • 自动 Token 刷新:当 Token 过期返回 401 时,自动从 mitmweb 重新拉取认证信息并重试(仅幂等请求)
  • 证书固定绕过:对于实施了 SSL Pinning 的应用(如银行、Instagram),提供基于 Frida 的绕过方案

技术特色

mimic 的架构设计非常巧妙:

  1. 零依赖代理启动:mitmproxy 不是独立安装的,mimic 通过 uvx 在第一次 record 时自动启动,对环境几乎零侵入
  2. 会话抽象Session 类提供了统一的接口,无论是从 mitmproxy、cURL 还是手动配置创建,使用方法完全一致
  3. 智能错误处理:非幂等请求(POST/DELETE)不会自动重试,避免重复操作;幂等请求(GET)失败时自动刷新认证
  4. 仅支持 Python:生成的客户端是纯 Python 代码,可以直接编辑和定制

快速上手

安装

sh install.sh
# 或手动安装
uv tool install mimic-client

iPhone 抓包配置

mimic record  # 启动代理,打印 iPhone 配置步骤

按照提示完成以下步骤:

  1. iPhone → Wi-Fi → 配置代理 → 手动 → 你的Mac-IP:8080
  2. Safari 访问 http://mitm.it,安装 Apple 证书描述文件
  3. 设置 → 通用 → 关于本机 → 证书信任设置 → 开启 mitmproxy 完全信任
  4. 打开目标 App,正常使用

生成客户端

mimic hosts                      # 列出捕获到的 API 主机
mimic learn  prod-api.xxx.com    # 查看 mimic 识别到的端点
mimic gen    prod-api.xxx.com    # 生成 Python 客户端文件

然后直接导入使用:

from hinge_client import Hinge

acc = Hinge()                 # 自动复用已捕获的会话
recs = acc.get_recommendations()
acc.like(subject_id, comment="hi lol")

手动创建 Session

from mimic import Session

# 从 mitmweb 提取认证
Session.from_mitm("prod-api.xxx.com")

# 从浏览器 DevTools 的 "Copy as cURL" 粘贴
Session.from_curl(open("copied.txt").read())

# 显式配置
Session(base_url="https://x.com", headers={...})

适用场景

  • API 自动化:想要自动操作某个没有公开 API 的 App?mimic 帮你搞定
  • 数据导出:把自己的数据从封闭的 App 中导出来
  • 集成开发:将多个 App 的功能组合到自己的工作流中
  • 安全研究:理解 App 的 API 结构和认证机制
  • 原型验证:快速测试某个 App 的 API 是否适合你的需求

局限性

mimic 并非万能,有两种情况会受限:

  • 证书固定(Certificate Pinning):银行类、Instagram 等 App 会拒绝 mitmproxy 证书,导致无法捕获流量。mimic 提供了 Frida 绕过方案,但需要一定技术基础
  • DPoP / 发送者约束令牌:每请求携带设备私钥签名的新证明,捕获的请求无法重放,暂无干净解决方案

总结

mimic 是一个非常有创意的工具,它把 “API 逆向” 这件事做到了极致的简单。以前你可能需要花几小时甚至几天去逆向一个 App 的 API,现在只需要正常使用 App,然后让 AI 帮你生成客户端代码。

项目采用 MIT 协议开源,目前已有 900+ Star,由知名开发者 littledivy 创建。需要注意的是,作者强调该工具应用于自己的账户和数据,遵守各应用的 ToS。

GitHub 地址:https://github.com/littledivy/mimic

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享