Class VarnodeOperation


  • public class VarnodeOperation
    extends Varnode
    • Constructor Detail

      • VarnodeOperation

        public VarnodeOperation​(PcodeOp pcodeOp,
                                Varnode[] inputValues)
    • Method Detail

      • isSimplified

        public boolean isSimplified()
      • setSimplified

        public void setSimplified​(boolean simplified)
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class Varnode
      • getPCodeOp

        public PcodeOp getPCodeOp()
      • getInputValues

        public Varnode[] getInputValues()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Varnode
      • toString

        public java.lang.String toString​(Language language)
        Description copied from class: Varnode
        Convert this varnode to an alternate String representation based on a specified language.
        Overrides:
        toString in class Varnode
        Parameters:
        language - is the specified Language
        Returns:
        string representation
      • isAddress

        public boolean isAddress()
        Overrides:
        isAddress in class Varnode
        Returns:
        true if this varnode exists in a Memory space (vs. register etc...). Keep in mind this varnode may also correspond to a defined register if true is returned and Varnode.isRegister() return false. Memory-based registers may be indirectly addressed which leads to the distinction with registers within the register space.
      • isAddrTied

        public boolean isAddrTied()
        Overrides:
        isAddrTied in class Varnode
        Returns:
        is mapped to an address
      • isConstant

        public boolean isConstant()
        Overrides:
        isConstant in class Varnode
        Returns:
        true if this varnode is just a constant number
      • isFree

        public boolean isFree()
        Overrides:
        isFree in class Varnode
      • isInput

        public boolean isInput()
        Overrides:
        isInput in class Varnode
        Returns:
        is input to a pcode op
      • isPersistent

        public boolean isPersistent()
        Overrides:
        isPersistent in class Varnode
        Returns:
        is persistent
      • isRegister

        public boolean isRegister()
        Overrides:
        isRegister in class Varnode
        Returns:
        true if this varnode exists in a Register type space. If false is returned, keep in mind this varnode may still correspond to a defined register within a memory space. Memory-based registers may be indirectly addressed which leads to the distinction with registers within the register space.
      • isUnique

        public boolean isUnique()
        Overrides:
        isUnique in class Varnode
        Returns:
        true if this varnode doesn't exist anywhere. A temporary variable.
      • trim

        public void trim()
        Description copied from class: Varnode
        Trim a varnode in a constant space to the correct starting offset. Constant handles may contain constants of indeterminate size. This is where the size gets fixed, i.e. we mask off the constant to its proper size. A varnode that is ends up in pcode should call this method to ensure that varnodes always contains raw data. On the other hand, varnodes in handles are allowed to have offsets that violate size restrictions.
        Overrides:
        trim in class Varnode