工具

protodump Protobuf 定义恢复工具

Go 编写的命令行工具,可从已编译的二进制或其他任意文件中恢复 Protocol Buffers 模式:它在原始字节中搜索生成代码嵌入的序列化 FileDescriptorProto 记录(借助其中的 .proto 文件名定位),并按原描述符路径将每条记录重新写成 .proto 源文件。重新生成的文件采用 proto2、proto3 或 editions 语法,包含包名、导入、常用文件选项,带保留范围的消息、嵌套枚举、oneof、map 与默认值,以及服务及其 RPC 方法,为分析者解码 Protobuf 流量提供消息和接口定义。

使用条件与局限

  • 审阅时没有任何带标签的发布版;README 使用 go install 安装最新模块版本,go.mod 声明 Go 1.26.8。所审阅的 2026-09-27 main 分支提交将输出写入限制在指定目录内,并拒绝覆盖已有文件。CI 在 Linux、macOS 和 Windows 上进行测试和构建。
  • 输入为使用者提供的、嵌入了完整描述符的二进制或其他文件。扫描是字节搜索而非可执行格式解析,因此缺失或未以普通序列化记录形式存储的描述符无法找到;解析失败的记录除非使用 -v,否则会被静默跳过。
  • 字段、消息、枚举、oneof、服务和方法的选项尚未输出(生成器中标为 TODO),扩展定义也不会写出,因此重新生成的文件可能与原文件不同,需要分析者复核。
  • 所审阅的提交中没有许可证文件或许可声明,GitHub 也未检测到许可证,因此项目未声明任何再使用条款。本次未扫描任何二进制。

关于此条目

类型
工具
类别
协议分析工具
关联
基础工具
目标
二进制 · 协议

来源复核于

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

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · arkadiyt/protodump · 修订 d398fad
  2. pkg/protodump/scan.go GitHub · arkadiyt/protodump · 修订 d398fad
  3. pkg/protodump/proto.go GitHub · arkadiyt/protodump · 修订 d398fad
  4. cmd/protodump/main.go GitHub · arkadiyt/protodump · 修订 d398fad
  5. cmd/protodump/output.go GitHub · arkadiyt/protodump · 修订 d398fad
  6. go.mod GitHub · arkadiyt/protodump · 修订 d398fad
  7. .github/workflows/build.yml GitHub · arkadiyt/protodump · 修订 d398fad
  8. https://github.com/arkadiyt/protodump/tree/d398fada3452b87e6f0879d9cdf3dad31bb74d6e

同分区更多条目:协议

协议分区全部 30 项资源