Skip to content

Latest commit

 

History

History
34 lines (21 loc) · 1.15 KB

README.md

File metadata and controls

34 lines (21 loc) · 1.15 KB

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.