PE analyzer#2448
Merged
jeremylong merged 4 commits intomasterfrom Feb 1, 2020
Merged
Conversation
Dll and exe on windows that are not .NET assembly are only analyzed by the filename. This is often not good enough because the filename can contain other numbers (x86, x64, ...) other than the version. To improve the situation I've reduced the confidence of the filename parsed version and created a new analyzer The FileVersionAnalyzer use the pecoff4j library to extract, if possible, the version from the file metadata
…ieving more than just the version number from the PE Headers
jeremylong
added a commit
that referenced
this pull request
Feb 3, 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated PR #2446
The PR from @pscamodio has been updated to improve the analysis even more. Instead of just pulling the file version from the PE headers we can collect similar data as the Assembly Analyzer.
Todo
There is a lot of similarity to the AssemblyAnalyzer and the new PEAnalyzer. Some of this functionality should be refactored into an abstract parent class - or just fold the two analyzers into a single analyzer. If the grok assembly fails to load it maybe then just load it using
pecoff4j.Have test cases been added to cover the new functionality?
Yes - test cases have been added but could likely be improved.