CipherBridge ——面向APP/Web 加解密逆向分析、渗透测试神器
一个人挺好
一个人挺好
一个人挺好 wa
2026年6月18日 21:21
上海
在小说阅读器读本章
去阅读
项目地址:
https://github.com/CuriousLearnerDev/CipherBridge
项目作者
项目概述
CipherBridge(密桥) 是一款面向 APP/Web 加解密逆向分析与渗透测试人员的可视化解密框架。它基于 mitmproxy 构建,能够在流量代理层实现自动化加解密拦截、Hook 注入、AI 辅助分析以及 Burp Suite 联动,极大简化了移动端和 Web 端加密通信的逆向分析流程。
核心定位
| 维度 | 说明 |
|---|---|
| 目标用户 | 移动安全工程师、渗透测试人员、逆向分析工程师 |
| 核心能力 | 流量代理加解密、Hook 脚本注入、AI 自动化分析、Burp Suite 联动 |
| 技术栈 | Python 3.10+ / PyQt6 / mitmproxy / Playwright |
| 支持平台 | Windows / macOS / Linux |
核心特性
- 可视化插件构建器:通过 GUI 界面拖拽配置加解密规则,无需手写代码即可生成 mitmdump 插件
- AI 自动化分析:集成 AI 大模型,自动分析加密算法、生成 Hook 脚本、逆向 JS 加密逻辑
- 多算法支持:AES / DES / 3DES / SM4 / RSA / MD5 / SHA256 / HMAC / SM3 等国密与国际标准算法
- Burp Suite 联动:将解密后的明文流量自动转发至 Burp Suite 进行进一步渗透测试
- Hook + AI 智能注入:结合 Playwright 浏览器 Hook 与 AI 分析,自动捕获前端加密逻辑
- 编码转换:支持 Base64 / Hex / JWT 等常见编码格式的自动识别与转换
- 插件化架构:支持
.cbproj.zip格式的插件包导入导出,便于团队协作与复用
系统架构
整体架构图
┌─────────────────────────────────────────────────────────────┐
│ 用户界面层 (GUI) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ 插件构建器 │ │ AI 分析面板 │ │ 流量监控 / 历史回放 │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└─────────────────────────┬───────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────┐
│ 核心引擎层 (Core) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ 配置管理器 │ │ 插件加载器 │ │ AI 调用引擎 │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└─────────────────────────┬───────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────┐
│ 代理与处理层 (Proxy) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ mitmproxy │ │ 加解密处理器│ │ 流量转发器 │ │
│ │ (HTTP/HTTPS)│ │ (AES/SM4等)│ │ (Burp/本地) │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└─────────────────────────┬───────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────┐
│ 扩展与工具层 (Extensions) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Hook 脚本 │ │ 签名生成器 │ │ 编码/解码工具 │ │
│ │ (JS/Python) │ │ (HMAC/RSA) │ │ (Base64/Hex/JWT) │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
2.2 数据流图
[客户端 APP/Web] ──加密流量──> [CipherBridge 代理]
│
▼
[流量解析 / Body 解析]
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
[AI 分析] [插件加解密] [Hook 注入]
│ │ │
└─────────────────┼─────────────────┘
▼
[明文流量输出]
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
[GUI 展示] [Burp Suite] [本地转发]
项目结构
CipherBridge/
├── gui.py # GUI 主程序入口 (PyQt6 可视化界面)
├── main.py # 命令行代理入口 (mitmdump 脚本模式)
├── config.yaml # 主配置文件 (框架模式)
│
├── core/ # 核心引擎模块
│ ├── __init__.py
│ ├── config.py # 配置解析与管理
│ ├── plugin_loader.py # 插件动态加载器
│ └── ai_engine.py # AI 分析引擎
│
├── algorithms.py # 加解密算法库 (AES/DES/SM4/RSA 等)
├── sm_crypto.py # 国密算法实现 (SM2/SM3/SM4)
├── signers.py # 签名算法库 (HMAC/RSA-SHA 等)
├── encoding_utils.py # 编码转换工具 (Base64/Hex/JWT)
├── body_parser.py # HTTP Body 解析器
├── handler.py # 请求/响应处理核心
├── forwarder.py # 流量转发器 (Burp/本地)
├── codegen.py # 代码生成器 (Hook/插件代码自动生成)
│
├── analyzer/ # 流量分析模块
│ └── ...
│
├── plugins/ # 用户插件目录
│ └── {app_name}/
│ ├── plugin.py # mitmdump 插件脚本
│ └── state.json # 插件状态与配置
│
├── profiles/ # 应用配置文件目录
│ └── {name}.yaml # 应用加解密配置
│
├── hooks/ # Hook 脚本目录
│ └── ... # JS/Python Hook 脚本
│
├── extensions/ # 扩展模块
│ └── ...
│
├── sdk/ # SDK / 加解密封装库
│ └── ...
│
├── replay/ # 流量回放目录
│ └── ...
│
├── scripts/ # 辅助脚本
│ └── ...
│
├── img/ # 截图与文档图片
├── config/ # 配置模板
│ ├── settings.yaml # 主题/界面设置
│ └── ai.yaml # AI API 配置
│
├── requirements.txt # Python 依赖清单
└── README.md # 项目说明文档
核心模块详解
加解密算法模块 (algorithms.py)
该模块封装了所有主流加解密算法的统一调用接口,支持对称加密、非对称加密和哈希算法。
支持的算法清单:
| 算法类型 | 算法名称 | 模式/变体 |
|---|---|---|
| 对称加密 | AES | ECB / CBC / CTR / GCM |
| 对称加密 | DES | ECB / CBC |
| 对称加密 | 3DES | ECB / CBC |
| 对称加密 | SM4 | ECB / CBC / CTR (国密) |
| 非对称加密 | RSA | PKCS#1 v1.5 / OAEP |
| 哈希 | MD5 | 标准 |
| 哈希 | SHA256 | 标准 |
| 哈希 | SM3 | 国密哈希 |
| 消息认证 | HMAC | HMAC-SHA256 / HMAC-MD5 |
调用示例:
from algorithms import CipherEngine
# AES-256-CBC 解密
engine = CipherEngine(\"AES\", mode=\"CBC\", key=b\"32-byte-key-here\", iv=b\"16-byte-iv----\")
plaintext = engine.decrypt(ciphertext)
# SM4-ECB 加密 (国密)
engine = CipherEngine(\"SM4\", mode=\"ECB\", key=b\"16-byte-sm4-key\")
ciphertext = engine.encrypt(plaintext)
国密算法模块 (sm_crypto.py)
纯 Python 实现的国密算法套件,不依赖外部 C 扩展,保证跨平台兼容性。
| 算法 | 功能 | 说明 |
|---|---|---|
| SM2 | 非对称加密/签名 | 基于椭圆曲线密码 |
| SM3 | 哈希函数 | 256-bit 输出,类似 SHA-256 |
| SM4 | 分组对称加密 | 128-bit 分组,类似 AES-128 |
签名算法模块 (signers.py)
处理各类请求签名验证场景,常见于 API 接口防篡改设计。
- HMAC-SHA256: 密钥型消息认证码
- RSA-SHA256: 非对称数字签名
- 自定义签名: 支持拼接参数 + 盐值 + 时间戳的复合签名
编码转换模块 (encoding_utils.py)
自动识别并转换常见编码格式:
| 编码 | 功能 |
|---|---|
| Base64 | 标准 / URL-Safe / 带换行 |
| Hex | 大写 / 小写十六进制 |
| JWT | JSON Web Token 解析与生成 |
| URL Encode | 百分号编码 |
代码生成器 (codegen.py)
这是 CipherBridge 的核心创新模块,能够根据用户配置或 AI 分析结果自动生成:
- mitmdump 插件脚本 (
plugin.py) - JavaScript Hook 脚本 (用于浏览器端加密拦截)
- Python 加解密脚本 (独立运行)
生成流程:
用户配置 / AI 分析结果
│
▼
[规则引擎] ──> [代码模板] ──> [代码生成器]
│
▼
plugin.py / hook.js
4.6 AI 分析引擎 (core/ai_engine.py)
集成大语言模型 API,提供以下自动化能力:
| 功能 | 描述 |
|---|---|
| 算法识别 | 自动分析密文特征,推断加密算法类型 |
| Hook 生成 | 根据前端 JS 代码自动生成 Hook 脚本 |
| 密钥提取 | 分析内存/代码,定位硬编码密钥 |
| 流量解密 | 基于样本数据自动推导解密方案 |
配置方式: 在 config/ai.yaml 中配置 API Key 和模型参数。
五、工作模式
GUI 模式(推荐)
启动可视化界面,通过拖拽和表单配置完成所有操作。
python gui.py
GUI 模式功能分区:
| 区域 | 功能 |
|---|---|
| 插件构建器 | 可视化配置加解密规则,一键生成插件 |
| AI 分析面板 | 上传样本/代码,AI 自动分析加密逻辑 |
| 流量监控 | 实时查看拦截的加密/解密流量 |
| 历史回放 | 保存和重放历史请求 |
命令行模式(mitmdump 插件模式)
适合自动化脚本和 CI/CD 集成。
# 解密模式:拦截加密流量并解密后转发
mitmdump -s plugins/myapp/plugin.py -p8080
# 加密模式:将明文请求加密后转发给服务端
PROXY_ROLE=encrypt PROFILE=myapp mitmdump -s main.py -p8081
# 框架模式(使用 config.yaml 配置)
PROXY_ROLE=decrypt PROFILE=myapp mitmdump -s main.py -p8080
双代理架构
CipherBridge 采用经典的双代理架构实现透明加解密:
[客户端] ──(加密流量)──> [CipherBridge:8080 解密代理]
│
▼ (解密为明文)
[Burp Suite / 本地服务:8083]
│
▼ (重新加密)
[CipherBridge:8081 加密代理]
│
▼ (加密流量)
[目标服务器]
配置方式:
# config.yaml
mode: decrypt
forward:
decrypt_to:\"http://127.0.0.1:8083\"# 解密后转发目标
encrypt_to:null# 加密后转发目标
timeout:30
插件系统
插件包格式 (.cbproj.zip)
CipherBridge 使用 .cbproj.zip 作为标准插件包格式,便于分享和复用。
包内结构:
myapp.cbproj.zip
├── manifest.json # 插件元信息 (名称/版本/作者/描述)
├── profile.yaml # 加解密配置参数
├── plugin.py # mitmdump 插件脚本 (核心)
└── state.json # 运行时状态 (密钥/会话等)
插件开发
方式一:GUI 可视化构建(零代码)
- 打开 CipherBridge GUI
- 进入「插件构建器」Tab
- 选择算法类型(AES/SM4/RSA 等)
- 填写密钥、IV、模式等参数
- 配置请求/响应的加解密字段
- 点击「生成插件」
- 导出为
.cbproj.zip或直接运行
方式二:手动编写插件
# plugins/myapp/plugin.py
from mitmproxy import http
from algorithms import CipherEngine
classCipherBridgePlugin:
def__init__(self):
self.engine = CipherEngine(\"AES\", mode=\"CBC\",
key=b\"your-key-here\",
iv=b\"your-iv-here\")
defrequest(self, flow: http.HTTPFlow):
# 解密请求体
if flow.request.content:
decrypted = self.engine.decrypt(flow.request.content)
flow.request.content = decrypted
defresponse(self, flow: http.HTTPFlow):
# 加密响应体
if flow.response.content:
encrypted = self.engine.encrypt(flow.response.content)
flow.response.content = encrypted
addons =[CipherBridgePlugin()]
插件加载
# 单插件模式
mitmdump -s plugins/myapp/plugin.py -p8080
# 多插件模式 (通过环境变量)
exportPROFILE=myapp
mitmdump -s main.py -p8080
AI 自动化分析
AI 辅助加密识别
上传密文样本,AI 自动分析:
- 算法推断: 基于密文长度、字符分布、结构特征识别算法
- 模式识别: 判断 ECB/CBC/CTR 等模式
- 编码识别: 区分 Base64/Hex/Raw Binary
- 密钥提示: 根据上下文提示可能的密钥位置
AI Hook 生成
对于 Web 前端加密,AI 可以:
- 分析页面 JS 代码
- 定位加密函数入口
- 自动生成 Playwright Hook 脚本
- 在运行时拦截加密参数
工作流程:
[目标网页] ──> [Playwright 浏览器] ──> [AI 分析 JS]
│
▼
[生成 Hook 脚本]
│
▼
[运行时拦截密钥 明文]
AI 配置
# config/ai.yaml
ai:
provider: openai # 或自定义 API
api_key: sk-xxxxxxxx
model: gpt-4o
base_url: https://api.openai.com/v1
# 分析参数
analysis:
max_tokens:4096
temperature:0.2
Burp Suite 联动
联动原理
CipherBridge 作为中间层,将解密后的明文流量转发给 Burp Suite,实现「 Burp 看明文,实际传密文」的效果。
客户端 ──加密──> CipherBridge ──解密──> Burp Suite (明文分析)
│ │
│<──明文响应───────│
│ │
└──重新加密──> 服务端
配置步骤
- 启动 CipherBridge 解密代理:
mitmdump -s plugins/myapp/plugin.py -p8080- 配置 Burp Suite 上游代理:
- 进入
Project Options > Connections > Upstream Proxy Servers - 添加:
*.*.*.*:8080(指向 CipherBridge)
- 配置客户端代理指向 Burp Suite 默认端口
8080(或自定义) - 在 Burp 中查看明文流量,进行重放、爆破、扫描等操作
HTTPS 流量拦截
证书配置
mitmproxy 需要安装 CA 证书才能解密 HTTPS 流量:
- 启动 mitmproxy 后,访问
http://mitm.it - 下载对应系统的 CA 证书
- 安装到系统/浏览器信任存储
移动端配置
对于 APP 测试,需要将 mitmproxy CA 证书安装到手机:
- Android: 设置 → 安全 → 从存储安装证书
- iOS: 下载后进入设置 → 通用 → 关于本机 → 证书信任设置
注意:Android 7+ 需要修改 APP 网络配置或使用 Magisk 等工具绕过证书固定。
十、安装与部署
环境要求
| 项目 | 版本要求 |
|---|---|
| Python | 3.10+ |
| 操作系统 | Windows / macOS / Linux |
| 内存 | 建议 4GB+ |
| 磁盘 | 200MB+ |
安装步骤
# 1. 克隆仓库
git clone https://github.com/CuriousLearnerDev/CipherBridge.git
cd CipherBridge
# 2. 安装 Python 依赖
pip install-r requirements.txt
# 3. (可选) 安装 Chromium,用于 AI 浏览器采集
playwright install chromium
# 4. 启动 GUI
python gui.py
依赖清单
PyQt6>=6.6,<7 # GUI 框架
PyYAML>=6.0 # 配置解析
pycryptodome>=3.20 # 加解密算法
requests>=2.31 # HTTP 客户端
mitmproxy>=10.0,<12 # 代理核心
playwright>=1.40 # 浏览器自动化 (可选)
使用场景
场景一:APP 接口加密分析
背景: 某 APP 使用 AES-CBC 加密请求体,需要分析接口逻辑。
步骤:
- 通过逆向获取 AES 密钥和 IV
- 在 CipherBridge 中配置 AES-CBC 参数
- 生成插件并启动代理
- 手机配置代理指向 CipherBridge
- 在 GUI 中查看解密后的明文请求
场景二:Web 前端加密 Hook
背景: 某 Web 应用使用前端 JS 加密密码后传输。
步骤:
- 使用 AI 分析面板上传目标网页
- AI 自动生成 Hook 脚本
- 启动 Playwright + Hook
- 在登录时自动拦截明文密码
场景三:Burp Suite 联动渗透测试
背景: 需要对加密接口进行 SQL 注入/越权测试。
步骤:
- 配置 CipherBridge 解密代理
- 配置 Burp 上游代理指向 CipherBridge
- 在 Burp Repeater 中修改明文参数
- CipherBridge 自动加密后发送给服务端
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论