-
Notifications
You must be signed in to change notification settings - Fork 564
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ELF: Detect OS from Go binaries #1987
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
I would recommend testing on old go versions prior to 1.18 when buildinfo was added. I would also recommend testing with binaries emitted by |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM besides the black fail and the question on using PyGithub
* elf: read segment memory size * elf: add routine to read mapped memory * elf: better detect OS for binaries compiled by Go * elf: guess OS from Go source filenames * changelog * elf: mypy * merge * elf: add OS detection based on vDSO strings * elf: document VTGrep searches * elf: describe further technique to identify Go binaries * elf: search for `.go.buildinfo` section via @yelhamer * black * elf: detect Alpine Linux ident * elf: log interest symtab entries * tests: add test for OS detection by Go buildinfo * loader: handle missing viv modules * pre-commit: run deptry before tests (which are slow) * loader: describe removing viv symbolic switch solver * pyproject: add PyGithub for deptry * black
use the strategies pioneered by GoReSym to detect the target OS for ELF binaries compiled by Go:
closes #1978
FYI @C0d3R3ad3r
FYI @stevemk14ebr
Checklist