Class AlignRule

  • All Implemented Interfaces:
    PostRule

    public class AlignRule
    extends java.lang.Object
    implements PostRule
    ByteSearch post search rule when a pattern is found. Used when a pattern must have a certain alignment at an offset from the location the pattern matches. The pattern can be constructed or restored from XML of the form, where alignOffset=mark, alignmask=bits
    • Constructor Summary

      Constructors 
      Constructor Description
      AlignRule()  
      AlignRule​(int alignOffset, int alignmask)
      ByteSearch post search rule when a pattern is found.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean apply​(Pattern pat, long matchoffset)
      Apply a post rule given the matching pattern and offset into the byte stream.
      int getAlignMask()  
      void restoreXml​(XmlPullParser parser)
      Can restore state of instance PostRule from XML
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AlignRule

        public AlignRule()
      • AlignRule

        public AlignRule​(int alignOffset,
                         int alignmask)
        ByteSearch post search rule when a pattern is found. Used when a pattern must have a certain alignment at an offset from the location the pattern matches. The alignment is specified by the alignmask bits that must be zero. Normally alignOffset is 0, since most patterns will match at the address that must be aligned To align a match, use the following align to 2 = alignmask 0x1 - lower bit must be zero align to 4 = alignmask 0x3 - lower two bits must be zero align to 8 = alignmask 0x7 - lower three bits must be zero align to 16 = alignmask 0xF - lower four bits must be zero .... Other strange alignments could be specified, but most likely the above suffice.
        Parameters:
        alignOffset - - bytes offset from pattern to check for alignment
        alignmask - - the mask where a 1 bit must be zero
    • Method Detail

      • apply

        public boolean apply​(Pattern pat,
                             long matchoffset)
        Description copied from interface: PostRule
        Apply a post rule given the matching pattern and offset into the byte stream.
        Specified by:
        apply in interface PostRule
        Parameters:
        pat - pattern that matched
        matchoffset - offset of the match
        Returns:
        true if the PostRule is satisfied
      • restoreXml

        public void restoreXml​(XmlPullParser parser)
        Description copied from interface: PostRule
        Can restore state of instance PostRule from XML
        Specified by:
        restoreXml in interface PostRule
        Parameters:
        parser - XML pull parser
      • getAlignMask

        public int getAlignMask()