工具

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 的关联。

关于此条目

类型
工具
类别
协议分析工具
关联
基础工具
目标
应用 · 协议

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
  2. lib/README.md GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
  3. burp/README.md GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
  4. mitmproxy/README.md GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
  5. lib/pyproject.toml GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
  6. LICENSE GitHub · nccgroup/blackboxprotobuf · 修订 b98861e
  7. https://github.com/nccgroup/blackboxprotobuf/releases/tag/v1.4.2
  8. https://pypi.org/project/bbpb/1.4.2/