PROTOSCAN(1)
hiii bestie π welcome to PROTOSCAN(1) β it's giving General Commands Manual energy, and the main character is the protoscan command. let's get into it β¨
π NAME π
protoscan β find the protobuf descriptors embedded in a binary. that's the assignment, and it ate. π
πΈ SYNOPSIS πΈ
protoscan [--proto-out] [-h|--help] [-V|--version] <FILE>
π¦ DESCRIPTION π¦
okay so picture this: protoscan digs through a binary and finds the protobuf descriptors embedded in it. iconic behavior, no cap.
it prints the file name of each FileDescriptorProto found in FILE, in order. that's the whole vibe.
with --proto-out, it also writes each one to DIR/<name> β and lowkey cute detail: its .proto suffix gets replaced by .pb. it creates directories as needed, so you don't have to pre-make the whole little folder situation. π
π OPTIONS π
--proto-out <DIR>β write each descriptor found under DIR, as<name>.pb.
--proto_out, the former spelling, is still accepted but deprecated (spec 0407 S3). so like, it still works, but maybe don't make it your whole personality. π
-h,--helpβ print help (see a summary with'-h').-V,--versionβ print version.<FILE>β the binary to scan. yes, that's the thing you're pointing the scanner at, bestie. π«Ά
β VERSION β
v0.3.6 β that's the version. short, sweet, slay. π
π ENVIRONMENT π
PROTOSCAN_COMPLETEβ when set tobash,zsh, orfish, print a shell completion script to stdout and exit. completion script era, we love to see it. β¨PROTOSCAN_GEN_MANβ when set to a directory, write this man page there asprotoscan.1and exit. meta much? iconic. π
π EXAMPLES π
π List the descriptors a program embeds
protoscan ./some_binary
this is the basic vibe check. π₯
π Extract them, then decode one with prototext
protoscan --proto-out extracted/ ./some_binary
prototext decode -t google.protobuf.FileDescriptorProto extracted/foo/v1/foo.pb
extract first, decode after β the prototext girlies know. π
π Enable bash completion
source <(PROTOSCAN_COMPLETE=bash protoscan)
one-liner, no notes. π
π SEE ALSO π
prototext(1), protolens(1), reproto(1) β go give them a little read too, bestie. iykyk. ππ
xoxo, the User Commands section of the manual β protoscan v0.3.6, and the footer didn't give me a date so I'm not inventing one, periodt. π
β¨
π¦ where this page comes from
- nixpkgs unstable: protoscan 0.3.6
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms