工具
Blackbox Protobuf 无定义 Protobuf 解码与重编码工具
NCC Group 推出的工具集,可在没有对应 .proto 定义的情况下解码并重新编码 Protocol Buffers 报文。解码器返回报文数据,以及根据线路类型尽力推测生成、可编辑的类型定义;分析者可以为字段命名、修正类型并重新编码修改后的报文,这是 protoc --decode_raw 做不到的。它提供 Python 库及 bbpb 命令行工具、基于 Jython 的 Burp Suite 扩展和 mitmproxy 插件,README 说明它最初用于在移动应用渗透测试中修改报文。
使用条件与局限
- 库与命令行工具可从 PyPI 以 bbpb 安装(1.4.2,要求 Python >=3.8,<4.0);README 指出 PyPI 上的 blackboxprotobuf 软件包是较早的派生版本。mitmproxy 插件加载 mitmproxy/bbpb.py,并要求在同一环境中安装 bbpb;只有设置 bbpb_project_file 选项,编辑过的类型才能在重启后保留,mitmweb 中也无法使用编辑命令。
- Burp 扩展需要配置了 Jython 2.7+ 的 Burp Suite,并在克隆仓库后运行 git submodule update --init。处理 gRPC 需开启 Burp 的 HTTP/2 支持,且只支持未压缩的 gRPC 负载。
- 字段类型根据线路类型(偶尔结合字段内容)推测,类型定义可能需要分析者修正;字段名称和含义无法恢复,类型发现工具仅列为未来计划。.proto 导入导出使用不完整的解析器,不处理 import 语句。
- 采用 MIT 许可。默认分支最后一次提交于 2025-03-14,与 v1.4.2 发布同日;这只是观察记录,不代表对维护状态的判断。本次未进行任何解码、代理或流量分析,所审来源也未确立与 REA 的关联。
关于此条目
- 类型
- 工具
- 类别
- 协议分析工具
- 关联
- 基础工具
- 目标
- 应用 · 协议
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
- lib/README.md GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
- burp/README.md GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
- mitmproxy/README.md GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
- lib/pyproject.toml GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
- LICENSE GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
- https://github.com/nccgroup/blackboxprotobuf/releases/tag/v1.4.2
- https://pypi.org/project/bbpb/1.4.2/