Skip to content

dipusone/golang_pclntab_parser

Repository files navigation

GoLang binary parser

Author: Jacopo Ferrigno

BinaryNinja plugin to parse GoLang binaries and restore some information, like function names and type information.

Description:

This plugin will parse a go binary and restore some information like:

  • Function names by parsing the .gopclntab section in the binary. If there is no section named .gopclntab it will try to search for it.
  • Comment the function with the filename from which the function comes
  • Print the list of files in the binary
  • Recover type information and names by parsing specific callsites gopclntab.

The plugin works for all GoLang version from 12 to 119.

References

The plugin is based on the following resources.

https://github.com/f0rki/bn-goloader
https://go.dev/src/debug/gosym/pclntab.go
https://docs.google.com/document/d/1lyPIbmsYbXnpNj57a261hgOYVpNRcgydurVQIyZOz_o/pub
https://securelist.com/extracting-type-information-from-go-binaries/104715/
https://github.com/golang/go/blob/fad4a16fd43f6a72b6917eff656be27522809074/src/reflect/type.go#L317

Contributors

License

This plugin is released under an MIT license.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages