Class RarVM

java.lang.Object
com.github.junrar.unpack.vm.BitInput
com.github.junrar.unpack.vm.RarVM

public class RarVM extends BitInput
DOCUMENT ME
Version:
$LastChangedRevision$
  • Field Details

    • VM_MEMSIZE

      public static final int VM_MEMSIZE
      See Also:
    • VM_MEMMASK

      public static final int VM_MEMMASK
      See Also:
    • VM_GLOBALMEMADDR

      public static final int VM_GLOBALMEMADDR
      See Also:
    • VM_GLOBALMEMSIZE

      public static final int VM_GLOBALMEMSIZE
      See Also:
    • VM_FIXEDGLOBALSIZE

      public static final int VM_FIXEDGLOBALSIZE
      See Also:
    • regCount

      private static final int regCount
      See Also:
    • UINT_MASK

      private static final long UINT_MASK
      See Also:
    • mem

      private byte[] mem
    • R

      private final int[] R
    • flags

      private int flags
    • maxOpCount

      private int maxOpCount
    • codeSize

      private int codeSize
    • IP

      private int IP
  • Constructor Details

    • RarVM

      public RarVM()
  • Method Details

    • init

      public void init()
    • isVMMem

      private boolean isVMMem(byte[] mem)
    • getValue

      private int getValue(boolean byteMode, byte[] mem, int offset)
    • setValue

      private void setValue(boolean byteMode, byte[] mem, int offset, int value)
    • setLowEndianValue

      public void setLowEndianValue(byte[] mem, int offset, int value)
    • setLowEndianValue

      public void setLowEndianValue(Vector<Byte> mem, int offset, int value)
    • getOperand

      private int getOperand(VMPreparedOperand cmdOp)
    • execute

      public void execute(VMPreparedProgram prg)
    • getMem

      public byte[] getMem()
    • setIP

      private boolean setIP(int ip)
    • ExecuteCode

      private boolean ExecuteCode(List<VMPreparedCommand> preparedCode, int cmdCount)
    • prepare

      public void prepare(byte[] code, int codeSize, VMPreparedProgram prg)
    • decodeArg

      private void decodeArg(VMPreparedOperand op, boolean byteMode)
    • optimize

      private void optimize(VMPreparedProgram prg)
    • ReadData

      public static int ReadData(BitInput rarVM)
    • IsStandardFilter

      private VMStandardFilters IsStandardFilter(byte[] code, int codeSize)
    • ExecuteStandardFilter

      private void ExecuteStandardFilter(VMStandardFilters filterType)
    • filterItanium_SetBits

      private void filterItanium_SetBits(int curPos, int bitField, int bitPos, int bitCount)
    • filterItanium_GetBits

      private int filterItanium_GetBits(int curPos, int bitPos, int bitCount)
    • setMemory

      public void setMemory(int pos, byte[] data, int offset, int dataSize)