Package ghidra.util.bytesearch
Class Pattern
java.lang.Object
ghidra.util.bytesearch.DittedBitSequence
ghidra.util.bytesearch.Pattern
- Direct Known Subclasses:
GenericByteSequencePattern
Pattern is an association of a DittedBitSequence to match,
a set of post rules after a match is found that must be satisfied,
and a set of actions to be taken if the pattern matches.
These patterns can be restored from an XML file.
-
Field Summary
Fields inherited from class ghidra.util.bytesearch.DittedBitSequence
popcount -
Constructor Summary
ConstructorsConstructorDescriptionPattern()Construct an empty pattern.Pattern(DittedBitSequence seq, int offset, PostRule[] postArray, MatchAction[] matchArray) Construct the pattern based on a DittedByteSequence a match offset, post matching rules, and a set of actions to take when the match occurs. -
Method Summary
Modifier and TypeMethodDescriptionintPostRule[]static voidreadPatterns(ResourceFile file, ArrayList<Pattern> patlist, PatternFactory pfactory) Read patterns from specified filestatic voidreadPostPatterns(File file, ArrayList<Pattern> patternList, PatternFactory pfactory) Read just the post patterns from the<patternpair>tagsvoidrestoreXml(XmlPullParser parser, PatternFactory pfactory) static voidrestoreXmlAttributes(ArrayList<PostRule> postrulelist, ArrayList<MatchAction> actionlist, XmlPullParser parser, PatternFactory pfactory) Restore the PostRule and the MatchAction tagsvoidsetMatchActions(MatchAction[] actions) Methods inherited from class ghidra.util.bytesearch.DittedBitSequence
concatenate, equals, getHexString, getIndex, getMaskBytes, getNumFixedBits, getNumInitialFixedBits, getNumUncertainBits, getSize, getValueBytes, hashCode, isMatch, restoreXmlData, setIndex, toString, writeBits
-
Constructor Details
-
Pattern
public Pattern()Construct an empty pattern. Use XML to initialize -
Pattern
Construct the pattern based on a DittedByteSequence a match offset, post matching rules, and a set of actions to take when the match occurs.- Parameters:
seq- DittedByteSequenceoffset- offset from the actual match location to report a matchpostArray- post set of rules to check for the matchmatchArray- MatchActions to apply when a match occurs
-
-
Method Details
-
getPostRules
-
getMatchActions
-
setMatchActions
-
getMarkOffset
public int getMarkOffset() -
restoreXmlAttributes
public static void restoreXmlAttributes(ArrayList<PostRule> postrulelist, ArrayList<MatchAction> actionlist, XmlPullParser parser, PatternFactory pfactory) throws IOException Restore the PostRule and the MatchAction tags- Parameters:
parser- is the parser at the start of tagspfactory- is the factory for the PostRule and MatchAction objects- Throws:
IOException
-
restoreXml
- Throws:
IOException
-
readPatterns
public static void readPatterns(ResourceFile file, ArrayList<Pattern> patlist, PatternFactory pfactory) throws SAXException, IOException Read patterns from specified file- Parameters:
file- pattern filepatlist- list for patterns to be added topfactory- optional factory for use in parsing PostRule and MatchAction elements. If null such elements may not be present.- Throws:
SAXExceptionIOException
-
readPostPatterns
public static void readPostPatterns(File file, ArrayList<Pattern> patternList, PatternFactory pfactory) throws SAXException, IOException Read just the post patterns from the<patternpair>tags- Parameters:
file- is the file to read frompatternList- collects the resulting Pattern objectspfactory- is the factory for constructing postrules and matchactions- Throws:
IOExceptionSAXException
-