E419 Making the Analyzer filter specified prefixes out? · Issue #7 · blitz/baresifter · GitHub
[go: up one dir, main page]

Skip to content

Making the Analyzer filter specified prefixes out? #7

@superfury

Description

@superfury

Is it possible to make the Analyzer filter out some of the prefix groups in it's results somehow, like I implemented in my own fork of Baresifter (implemented for the Baresifter output, but not for Analyzer input yet (don't know the language that well))?

So far I've (see git pull request from my own Baresifter fork) implemented the possiblity to:

  • Execute on any CPU down to i386.
  • Filter out prefix groups that are detected as prefixes (allowing for older CPUs not to detect the REX prefix when it isn't supported) using a bitmask (bit 0 = group 0, bit 1 = group 1 etc. till group 3, then group 4 is the REX prefix (allows x86 40-4F INC/DEC instructions to be sifted)). Clearing the bitmask bit (set by default) in the parameter causes it to be excluded from the detected prefixes.
  • Skip prefix groups (based on the above detection results, by compating against the bitmask) from the results. Another bitmask for this (same format as above) causes it to skip the instruction if the bit is cleared for any of detected prefixes (so detected because of detect bitmask 1(or default, which is 1 for any of the bits) so the detected prefix causes the cleared bit in the second mask (the used bitmask) to exclude if said bit in the used bitmask bit is cleared.
  • Converted the prefix LUT into a class to be able to configure the filtering behaviour of detected prefixes.

Is it possible to add the same logic to the Analyzer (so detecting specified prefixes and excluding them from results if the used prefix bit is cleared) based on the inputted (already filtered) text file containing Baresifter's output?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0