Class DisambiguateByParentWithOrder

java.lang.Object
ghidra.program.model.correlate.DisambiguateByParentWithOrder
All Implemented Interfaces:
DisambiguateStrategy

public class DisambiguateByParentWithOrder extends Object implements DisambiguateStrategy
Attempt to disambiguate similar n-grams by looking at the parents, AND siblings, of blocks containing the n-grams. This addresses switch constructions in particular, where code for individual cases look very similar but can be distinguished by the ordering of the cases.
  • Constructor Details

    • DisambiguateByParentWithOrder

      public DisambiguateByParentWithOrder()
  • Method Details

    • calcHashes

      public ArrayList<Hash> calcHashes(InstructHash instHash, int matchSize, HashStore store) throws CancelledException
      Description copied from interface: DisambiguateStrategy
      Generate (possibly multiple) hashes that can be used to disambiguate an n-gram and its block from other blocks with similar instructions. Hashes are attached to the block's disambigHash list.
      Specified by:
      calcHashes in interface DisambiguateStrategy
      Parameters:
      instHash - the instruction hash
      matchSize - the number of instructions to match
      store - is the HashStore used to store the disambiguating hashes
      Returns:
      the list of disambiguating hashes
      Throws:
      CancelledException