Skip to content

dipusone/golang_pclntab_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.