Package ghidra.features.base.memsearch.matcher

# Class MaskedByteSequenceByteMatcher

java.lang.Object
ghidra.features.base.memsearch.matcher.ByteMatcher
ghidra.features.base.memsearch.matcher.MaskedByteSequenceByteMatcher

public class MaskedByteSequenceByteMatcher extends ByteMatcher
`ByteMatcher` where the user search input has been parsed into a sequence of bytes and masks to be used for searching a byte sequence.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class ghidra.features.base.memsearch.matcher.ByteMatcher

  `ByteMatcher.ByteMatch`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MaskedByteSequenceByteMatcher(String input, byte[] bytes, byte[] masks, SearchSettings settings)`
  Constructor that includes a mask byte for each search byte.
  `MaskedByteSequenceByteMatcher(String input, byte[] bytes, SearchSettings settings)`
  Constructor where no masking will be required.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `byte[]`
  `getBytes()`
  `String`
  `getDescription()`
  Returns a description of what this byte matcher matches.
  `byte[]`
  `getMask()`
  `String`
  `getToolTip()`
  Returns additional information about this byte matcher.
  `Iterable<ByteMatcher.ByteMatch>`
  `match(ExtendedByteSequence byteSequence)`
  Returns an `Iterable` for returning matches within the given byte sequence.

  ### Methods inherited from class ghidra.features.base.memsearch.matcher.ByteMatcher

  `equals, getInput, getName, getSettings, hashCode, isValidInput, isValidSearch, toString`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### MaskedByteSequenceByteMatcher

    public MaskedByteSequenceByteMatcher(String input, byte[] bytes, SearchSettings settings)
    Constructor where no masking will be required. The bytes must match exactly.
    Parameters:
      `input` - the input text used to create this matcher
      `bytes` - the sequence of bytes to use for searching
      `settings` - the `SearchSettings` used to parse the input text

  - ### MaskedByteSequenceByteMatcher

    public MaskedByteSequenceByteMatcher(String input, byte[] bytes, byte[] masks, SearchSettings settings)
    Constructor that includes a mask byte for each search byte.
    Parameters:
      `input` - the input text used to create this matcher
      `bytes` - the sequence of bytes to use for searching
      `masks` - the sequence of mask bytes to use for search. Each mask byte will be applied to the bytes being search before comparing them to the target bytes.
      `settings` - the `SearchSettings` used to parse the input text

- ## Method Details

  - ### match

    public Iterable<ByteMatcher.ByteMatch> match(ExtendedByteSequence byteSequence)
    Description copied from class: `ByteMatcher`
    Returns an `Iterable` for returning matches within the given byte sequence.
    Specified by:
      `match` in class `ByteMatcher`
    Parameters:
      `byteSequence` - the byte sequence to search
    Returns:
      an iterable for return matches in the given sequence

  - ### getDescription

    public String getDescription()
    Description copied from class: `ByteMatcher`
    Returns a description of what this byte matcher matches. (Typically a sequence of bytes)
    Specified by:
      `getDescription` in class `ByteMatcher`
    Returns:
      a description of what this byte matcher matches

  - ### getToolTip

    public String getToolTip()
    Description copied from class: `ByteMatcher`
    Returns additional information about this byte matcher. (Typically the mask bytes)
    Specified by:
      `getToolTip` in class `ByteMatcher`
    Returns:
      additional information about this byte matcher

  - ### getBytes

    public byte[] getBytes()

  - ### getMask

    public byte[] getMask()