Following up on the discussion in #45 and #77, extracted strings should include their virtual address (VA) in the output.
Currently -strings outputs only the string values. For reverse engineering tools like IDA and Binary Ninja, knowing where each string lives in the binary is essential for creating string literals at the correct addresses.
- Add a Start (virtual address) field to each extracted string in the JSON output
- Update GoReSym.proto to reflect the new output shape
- Update -human output to display the address alongside each string
- Add/extend unit tests to verify addresses are present and valid across all supported platforms and architectures
Example JSON output (before):
"Strings": ["main", "runtime.goexit"]
Example JSON output (after):
"Strings": [{"Str": "main", "Start": 5281400}, {"Str": "runtime.goexit", "Start": 5281920}]
Following up on the discussion in #45 and #77, extracted strings should include their virtual address (VA) in the output.
Currently -strings outputs only the string values. For reverse engineering tools like IDA and Binary Ninja, knowing where each string lives in the binary is essential for creating string literals at the correct addresses.
Example JSON output (before):
"Strings": ["main", "runtime.goexit"]
Example JSON output (after):
"Strings": [{"Str": "main", "Start": 5281400}, {"Str": "runtime.goexit", "Start": 5281920}]