goresym for Mac
GoReSym is a Go symbol parser that extracts program metadata (such as CPU architecture, OS, endianness, compiler version, etc), function metadata (start & end addresses, names, sources), filename and line number metadata…
goresym — overview
GoReSym is a Go symbol parser that extracts program metadata (such as CPU architecture, OS, endianness, compiler version, etc), function metadata (start & end addresses, names, sources), filename and line number metadata, and embedded structures and types. This cross platform program is based directly on the open source Go compiler and runtime code.
The upstream Go runtime code is extended to handle: stripped binaries malformed unpacked binaries, such as from UPX binaries that split single data ranges across multiple sections the location of the moduledata structure
Usage Refer to https://www.mandiant.com/resources/blog/golang-internals-symbol-recovery for reverse engineering details and example usage.
You can download pre-built linux, macos, and windows GoReSym binaries from the Releases tab.
To build from source with a recent Go compiler, invoke the Go compiler:
Once built invoke GoReSym like this:
In this example, we ask GoReSym to recover type names (-t), user package names, standard Go package names (-d), and input file paths (-p) embedded within the file /path/to/input.exe. The output looks like this:
Here are all the available flags:
-d ("default", optional) flag will print standard Go packages in addition to user packages. -p ("paths", optional) flag will print any file paths embedded in the pclntab. -t ("types", optional) flag will print Go type names. -strings (optional) flag will extract embedded Go strings from the binary by analyzing the string internment table. -m ("manual", optional) flag will dump the RTYPE structure recursively at the given virtual address -v ("version", optional) flag will override automated version detection and use the provided version. This is needed for some stripped binaries. Type parsing will fail if the version is not accurate. -human (optional) flag will print a flat text listing instead of JSON. Especially useful when printing structure and interface types. -about (optional) flag with print out license information
To import this information into IDA Pro you can run the script found in https://github.com/mandiant/GoReSym/blob/master/IDAPython/goresym_rename.py. It will read a json file produced by GoReSym and set symbols/labels in IDA.
Version Support As the Go compiler and runtime have changed, so have the embedded metadata structures. GoReSym supports the following combinations of Go releases & metadata:
all combinations of ARM64 ? Intel x86/x64 ? MACH-O/ELF/PE ? big/little endian pclntab parsing: >= Go 1.2 moduledata location: >= Go 1.2 moduledata type parsing: >= Go 1.5
The moduledata table used to extract types doesn't exist prior to Go 1.5, so this library will never support extracting types from very old Go versions.
This library current handles the pclntab layouts pre 1.2, 1.2, 1.16, 1.18, and 1.20. Note that the pclntab version is always to support byte scanning the pclntab magic Added routines such as DataAfterSection to support signature scan in file format parsers in /debug/
Details
围棋符号恢复工具
How to install goresym
- Open Terminal (press ⌘ + Space and type “Terminal”).
- If Homebrew is not installed yet, run the command below first.
- Run this command:
Latest 10 releases
Last updated 2026-09-14; current version v3.4.1, with the latest 10 releases listed.
| Version | Released | Type | Size | macOS | Windows | Linux |
|---|---|---|---|---|---|---|
| v3.4.1 | 2026-09-14 | Stable | 3.4 MB | Download | Download | Download |
| v3.4 | 2026-07-01 | Stable | 3.4 MB | Download | Download | Download |
| v3.3 | 2026-03-06 | Stable | 2.9 MB | Download | Download | Download |
| v3.2 | 2026-02-17 | Stable | 2.9 MB | Download | Download | Download |
| v3.1.2 | 2025-08-08 | Stable | 2.8 MB | Download | Download | Download |
| v3.1.1 | 2025-08-07 | Stable | 2.8 MB | Download | Download | Download |
| v3.1 | 2025-08-07 | Stable | — | — | — | — |
| v3.0.2 | 2025-02-12 | Stable | 2.6 MB | Download | Download | Download |
| v3.0.1 | 2024-10-19 | Stable | 2.5 MB | Download | Download | Download |
| v3.0 | 2024-10-19 | Stable | 2.5 MB | Download | Download | Download |
Data from GitHub Releases; stable releases first, each group sorted newest first.
Prebuilt bottle platforms
Official Homebrew bottles cover:
- Apple silicon · latest macOS
- Apple silicon · macOS 26 Tahoe
- Apple silicon · macOS 15 Sequoia
- Linux · ARM64
- Linux · x86_64
⚠️ No prebuilt bottle for Intel Macs; Intel users need brew install --build-from-source to build from source.
Compared with similar apps
Only public metadata is compared, with no subjective recommendation; see the compare pages for field-by-field comparisons.
| App | Version | License | Architecture | 30-day installs |
|---|---|---|---|---|
| goresym | v3.4.1 | MIT | CLI | 15 |
| lziprecover | 1.26 | GPL-2.0-or-later | CLI | 18 |
| gzrt | 0.8 | GPL-2.0-or-later | CLI | 7 |
| openssl@4 | openssl-4.1.0 | Apache-2.0 | CLI | 494,798 |
Similar apps: Command-line Tools
lziprecover
lziprecover is a command-line data recovery tool for the lzip compression format that can also…gzrt
gzrt is a command-line toolkit for salvaging damaged gzip archives and tarball files.openssl@4
Cryptography and SSL/TLS Toolkitxz
General-purpose data compression with high compression ratiopkgconf
pkgconf is a program which helps to configure compiler and linker flags for development…node
Node.js is an open-source, cross-platform JavaScript runtime environment.Categories: Command-line Tools