Xpl0itR / protodec

A tool to decompile protoc compiled protobuf classes back into .proto definitions.
Mozilla Public License 2.0
46 stars 2 forks source link
assembly cil clr common-intermediate-language cpp2il csharp dotnet google-protobuf google-protocol-buffers il2cpp il2cppdumper msil protobuf protobuf3 protoc protocol-buffers protodec

protodec

A tool to decompile protoc compiled protobuf classes back into .proto definitions.

Usage

Usage: [command] [arguments...] [options...] [-h|--help] [--version]                                                                                                                                                                                                                    
Use reflection backend to load target CIL assembly and its dependants.

Arguments:
  [0] <string>    Either the path to the target assembly or a directory of assemblies, all of which be parsed.
  [1] <string>    An existing directory to output into individual files, otherwise output to a single file.

Options:
  --skip-enums                                                  Skip parsing enums and replace references to them with int32. (Optional)
  --include-properties-without-non-user-code-attribute          Includes properties that aren't decorated with `DebuggerNonUserCode` when parsing. (Optional)
  --include-service-methods-without-generated-code-attribute    Includes methods that aren't decorated with `GeneratedCode("grpc_csharp_plugin")` when parsing gRPC services. (Optional)
  --parse-service-servers                                       Parses gRPC service definitions from server classes. (Optional)
  --parse-service-clients                                       Parses gRPC service definitions from client classes. (Optional)
  --log-level <LogLevel>                                        Logging severity level. (Default: Information)

Commands:
  il2cpp    Use LibCpp2IL backend to directly load Il2Cpp compiled game assembly. EXPERIMENTAL.

See per-command help message for more info.

Limitations

License

This project is subject to the terms of the Mozilla Public License, v. 2.0.