-
Notifications
You must be signed in to change notification settings - Fork 627
os, arch, and format features #723
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
Conversation
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.
Please add bug fixes, new features, breaking changes and anything else you think is worthwhile mentioning to the master (unreleased) section of CHANGELOG.md. If no CHANGELOG update is needed add the following to the PR description: [x] No CHANGELOG update needed
CHANGELOG updated or no update needed, thanks! 😄
|
requesting initial review to ensure i'm on the right track and making sense. |
This comment has been minimized.
This comment has been minimized.
makes space for upcoming feature `arch: ` for things like i386/amd64/aarch64
|
|
agree, though at the moment, i don't think we would have any file limitation rules that would fire on ELF binaries. i'd propose to implement the limitation check only once we have those rules, since we'll have to write even more new code to do the lightweight ELF feature extraction (and this PR is already big). |
|
@mike-hunhoff items identified above are addressed. would you review those few commits? anything further you'd want done before merging? |
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.
impressive, thanks for the great work here!
Co-authored-by: Moritz <[email protected]>
Co-authored-by: Moritz <[email protected]>
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.
updates look good, thank you!
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.
Amazing work!!! 🥇
|
ugh viv ELF support seems like it might have been broken in v1.0.4? https://github.com/fireeye/capa/runs/3404104636 reported here vivisect/vivisect#443 fix here vivisect/vivisect#444 |
|
this is ready to go |

Implementation of ELF-related features, ref #699
adds:
os: windows,os: linux,os: macos, etc. at global scope (insn, bb, function, AND file scopes) closes detect OS from ELF file #724format: pe,format: elfat file scopearch: amd64andarch: i386at global scopeextractors are now expected to extract each of the above. implements these for the viv, smda, pefile, and ida extractors. documentation for these features is found in mandiant/capa-rules#443
breaking changes:
archtobitnessto make space forarch:featurethis means we'll need to do a major release (v3.0.0); however, the new features
os,format, andarchalso are breaking changes, so there's no getting around this.does not attempt:
meta.oskey. this can be added subsequently in another PR.demo