Brida 是一款 Burp Suite 扩展,作为 Burp Suite 和 Frida 之间的桥梁,让你在篡改应用程序与其后端服务/服务器之间交换的流量时,使用和操作应用程序自身的方法。它支持 Frida 支持的所有平台(Windows、macOS、Linux、iOS、Android 和 QNX)。
这个想法源于在分析某些使用随机密钥进行强对称加密的移动应用时产生的一个需求:在不知道正确密钥的情况下,所有数据都无法通过 Burp 甚至自定义插件进行修改。更一般地,应用的逻辑可能基于加密令牌,也可能使用复杂的挑战-响应算法等等。我们如何篡改这些消息?大多数情况下,唯一可行的方法是反编译/反汇编应用,识别我们感兴趣的函数或方法,并重新实现它们。这种方法显然耗时且并非总是真正可行:例如,令牌生成和/或加密例程可能基于与设备(状态)严格绑定的加密材料,或存储在受保护区域因而无法直接访问……这时 Brida 就派上用场了:与其试图提取密钥/证书并重写我们感兴趣的例程,为什么不直接让应用替我们完成这些脏活呢?
简短的回答是每个人!详细的回答是,Brida 是一个工具集合,其中一些工具旨在加快日常移动评估并帮助新 Frida 用户,而另一些工具则针对非常复杂的情况,在这些情况下 Brida 可以真正发挥重要作用。
以下这些工具对于处理和加速日常移动评估非常有价值:
然而,导致 Brida 创建的初衷是帮助渗透测试人员/逆向工程师/黑客分析目标移动应用的 Web 服务,这些服务采用了复杂的安全功能来保护 HTTP 请求和响应的机密性和完整性。对请求和响应执行的加密、混淆、签名例程会使测试人员的工作变得非常困难和耗时,因为通常需要逆向安全机制并实现一个 Burp Suite 插件或外部工具,首先解密/反混淆 HTTP 消息,然后最终加密/混淆/签名编辑后的消息。同样的情况也适用于一些非安全场景,例如使用自定义二进制协议来格式化 HTTP 请求/响应的主体以满足互操作性或性能目的。
Brida 试图尽可能地加速这些过程,通过限制逆向工作量,并在大多数情况下完全消除开发工作,它提供了一个引擎,允许以图形方式创建自定义插件,使用移动应用本身所使用的相同移动功能来检查和编辑 HTTP 请求和响应,这要感谢 Frida。
以一款使用自定义/未知加密算法加密/解密所有请求和响应的移动应用为例,Brida 允许以图形方式创建一个简单的自定义插件,直接使用移动应用用于执行该任务的移动代码来解密加密的 HTTP 消息。
另一个例子是创建一个自定义插件,当向后端发送已签名的 HTTP 请求时,使用应用本身所使用的相同移动功能透明地更新签名。
更详细地说,Brida 允许以图形方式创建以下插件:
如果 Brida 的自定义插件引擎不足以应对我们极其复杂的情况,还可以编写外部的 Python/Java Burp Suite 扩展,将执行目标移动应用函数处理扩展数据的任务交给 Brida。Brida 的“生成存根”工具可以生成 Java 或 Python 代码,这些代码可以粘贴到外部的 Python 或 Java 扩展中,以使用 Brida 桥接。
Frida 17 在工具本身及其 JavaScript API 中带来了重大更新。对 JS 代码进行了重大重构,破坏了与旧版本 frida 的兼容性。因此,最新版本的 Brida 要求 frida 版本大于等于 17。如果你需要使用旧版本的 Frida,可以从 GitHub 发布页下载版本 0.6pre。
要求:
pip install frida frida-tools pyro4)从 GitHub 安装:
从 Burp Suite BApp Store 安装:
BApp Store 的更新需要时间。请查看 GitHub 以获取最新版本。
要求:
npm install [email protected])。pip install frida frida-tools pyro4)从 GitHub 安装:
在 macOS 上路径错误很常见;如果遇到系统路径问题,请参考此链接。
你可以使用 Gradle 或 Maven 构建 Brida。Brida 使用了修改版的 RSyntaxTextArea,你可以在此分支中找到。
使用 Gradle 构建更简单。"jar" 任务将完成所有工作,使用已经编译好的修改版 RSyntaxTextArea(位于 "libs" 文件夹)。
为了能够使用 Maven 构建 Brida,你需要使用以下参数将修改版的 RSyntaxTextArea 本地安装到 Maven:
安装和使用说明可以在 Wiki 页面 中找到。
我们在 HackInBo 2017 Winter Edition 上演讲的幻灯片(描述第一版)可以在以下位置找到:
我们在 Hack In The Box 2018 Amsterdam 上演讲的幻灯片和视频(描述 0.2 版本的新特性)可以在以下位置找到:
我们在 Hack In Paris 2020 2021(因 COVID-19 全球形势推迟)上演讲的视频(描述 0.4 0.5 版本的新特性)可以在以下位置找到:
在 Demo 文件夹中可以找到两个不同的演示应用,一个 Android 和一个 iOS。
演示文件夹中还包含可用于绕过应用加密机制的 Brida 插件!
Brida 使用了大量 Frida 代码进行动态钩子和二进制文件检查,这些代码基于以下人员的工作:
此外,Brida 还集成了多位作者开发的许多 Frida 钩子,用于检查/绕过多种安全特性。我从中获取了 Brida 的“钩子和函数”部分 Frida 代码的项目列表(希望足够详尽,随机顺序):

版权所有 (c) 2025 Brida
特此授予任何人免费获得本软件及相关文档文件(“软件”)副本的权利,允许其无限制地处理本软件,包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或销售本软件的副本,并允许获得本软件的人这样做,但须满足以下条件:
上述版权声明和本许可声明应包含在所有副本或实质性部分中。
本软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他方式,由本软件或其使用或其他交易引起或与之相关。