Uses of Interface
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEImm
Packages that use IEImm
Package
Description
This package and its sub-packages contain the types used to access
gendec
, JEB's generic
decompiler.Types used to create and access
gendec
's IR (Intermediate Representation).IR emulator facility.
Types specific to
gendec
's IR optimizers.-
Uses of IEImm in com.pnfsoftware.jeb.core.units.code.asm.decompiler
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler that return IEImmModifier and TypeMethodDescriptionIEGlobalContext.createImm
(byte[] v, int bitsize) IEGlobalContext.createImm
(double v) IEGlobalContext.createImm
(float v) IEGlobalContext.createImm
(long v, int bitsize) IEGlobalContext.createImm
(BigInteger v, int bitsize) IERoutineContext.createImm
(byte[] v, int bitsize) IERoutineContext.createImm
(double v) IERoutineContext.createImm
(float v) IERoutineContext.createImm
(long v, int bitsize) IERoutineContext.createImm
(BigInteger v, int bitsize) AbstractConverter.evaluateUntranslatedIR
(IEUntranslatedInstruction insn, IERoutineContext ectx, EState state) The default implementation returns null.IEConverter.evaluateUntranslatedIR
(IEUntranslatedInstruction insn, IERoutineContext ectx, EState state) Evaluate untranslated IR instructions. -
Uses of IEImm in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir
Fields in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir with type parameters of type IEImmModifier and TypeFieldDescriptionSimulationPointInformation.blkPostExecRegVals
SimulationPointInformation.blkPreExecRegVals
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir that return IEImmModifier and TypeMethodDescriptionPerform an addition.Perform a binary-and operation.IEImm._clearbit
(int pos) Reset a given bit to 0.Perform a signed division.Perform an unsigned division.Add this IEEE-754 float to another float immediate and return the result.Divide this IEEE-754 float by another float immediate and return the result.Multiply this IEEE-754 float to another float immediate and return the result.Subtract the IEEE-754 float parameter from this float immediate and return the result.Perform a (truncated) multiplication.IEImm._neg()
Perform a negation.IEImm._not()
Perform a binary-not operation.Perform a binary-or operation.IEImm._pow
(int exponent) Perform an exponentiation.Perform a signed remainder (modulo) operation.Perform an unsigned remainder (modulo) operation.IEImm._rol
(int cnt) Perform a left-rotate operation.IEImm._ror
(int cnt) Perform a right-rotate operation.IEImm._sar
(int cnt) Perform an arithmetic right-shift operation (sign bit is maintained).IEImm._setbit
(int pos) Set a given bit to 1.IEImm._shl
(int cnt) Perform a left-shift operation.IEImm._shr
(int cnt) Perform a regular right-shift operation.Perform a subtraction.Perform a binary-xor operation.default IEImm
IEGeneric.asImm()
IEImm.duplicate()
The resulting copy may not be mutable.IEImm.duplicateToMutable()
Create a mutable copy of this immediate.IEImm.duplicateWithType
(IWildcardType type) Create a mutable copy of this immediate and assign it a type.Evaluate the IRE.static IEImm
EUtil.evaluate_preVerified
(IEGeneric e) static IEImm
EUtil.evaluate_preVerified
(IEGeneric e, EState state) IEImm.expand
(int bits) Expand (zero-extension) this immediate.EState.getProgramCounter()
Convenience method to read the PC.EState.getStackPointer()
Convenience method to read the SP.EState.getValue
(int id) Retrieve the value of a variable.Retrieve the value of a variable.EState.getValueSafe
(int id) Retrieve the value of a variable.EState.getValueSafe
(IEVar var) Retrieve the value of a variable.static IEImm
EUtil.imm
(byte[] val, int bitsize) Create an arbitrary-long immediate.static IEImm
EUtil.imm
(long val, int bitsize) Create an immediate, limited to 64 bits.static IEImm
Create an arbitrary-long immediate.static IEImm
EUtil.imm
(BigInteger val, int bitsize) Create an arbitrary-long immediate.static IEImm
EUtil.mask
(int bitsize, int maskbits) Create a bit mask, eg mask(16, 4) will create the mask:b0000000000001111
static IEImm
EUtil.mask
(int bitsize, int maskbegin, int maskend) Create a bit mask, eg mask(16, 1, 5) will create the mask:b0000000000011110
static IEImm
EUtil.minusOne
(int bitsize) Generates the value -1, ie anEImm
filled with ones.IEImm.normalize()
Normalize this immediate bvy generating an immediate whose internal representation better matches the type.static IEImm
EUtil.one
(int bitsize) Generates the value 1L with defined bitsize.PreRoutineInvocationDetails.readArg
(IEConverter<?> cv, StorageEntry entry) IEImm.signExtend
(int newBitsize) IEImm.truncate
(int bits) Truncate this immediate or sign-extend it.static IEImm
EUtil.zero
(int bitsize) Generates the value 0 with defined bitsize.IEImm.zeroExtend
(int newBitsize) Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir that return types with arguments of type IEImmModifier and TypeMethodDescriptionPreRoutineInvocationDetails.getStackSlotValues()
PreRoutineInvocationDetails.getVariableMap()
EState.getVariables()
EState.Frame.getVars()
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir with parameters of type IEImmModifier and TypeMethodDescriptionPerform an addition.Perform a binary-and operation.int
Perform a signed operand comparison.int
Perform an unsigned operand comparison.Perform a signed division.Perform an unsigned division.Add this IEEE-754 float to another float immediate and return the result.Compare this IEEE-754 float with another float immediate and return 0, +1, -1 depending on the result of the comparison.Divide this IEEE-754 float by another float immediate and return the result.Multiply this IEEE-754 float to another float immediate and return the result.Subtract the IEEE-754 float parameter from this float immediate and return the result.Perform a (truncated) multiplication.Perform a binary-or operation.Perform a signed remainder (modulo) operation.Perform an unsigned remainder (modulo) operation.Perform a subtraction.Perform a binary-xor operation.static int
EUtil.evalAsPositiveInt
(IEImm imm) Evaluate an immediate to a 32-bit positive int.static int
EUtil.evalAsSaturatedPositiveInt
(IEImm imm) Evaluate and convert a positive immediate to a 32-bit int.static boolean
EUtil.isLegalSignedImmediate
(IEImm v, int checkedBitsize) Verify that the provided immediate is a legal signed value if it were to be treated as a signed integer of `checkedBitsize`.static boolean
EUtil.isLegalUnsignedImmediate
(IEImm v, int checkedBitsize) Verify that the provided immediate is a legal unsigned value if it were to be treated as an unsigned integer of `checkedBitsize`.void
EState.setProgramCounter
(IEImm val) Convenience method to write the PC.void
EState.setStackPointer
(IEImm val) Convenience method to write the SP.void
Set a variable to a defined value or the BAD value.Method parameters in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir with type arguments of type IEImmModifier and TypeMethodDescriptionstatic CharSequence
EState.formatVars
(Map<Integer, IEImm> vars, IEGlobalContext gctx, IERoutineContext ctx) static CharSequence
EState.formatVars
(Map<Integer, IEImm> vars, IEGlobalContext gctx, IERoutineContext ctx, Collection<Integer> includedIds, Collection<Integer> excludedIds, boolean skipZeroRegs) void
EState.setVariables
(Map<Integer, IEImm> vars) Replace the variables of this state by another set of variables. -
Uses of IEImm in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator that return IEImmModifier and TypeMethodDescriptionEEmulator.getLastEvaluationResult()
EEmulator.getReturnAddress()
EEmulator.getReturnValue()
EEmulator.readStorage
(StorageEntry entry) Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator with parameters of type IEImmModifier and TypeMethodDescriptionvoid
EEmulator.addArgument
(IEImm val) void
EEmulator.setLastEvaluationResult
(IEImm val) boolean
EEmulator.writeStorage
(StorageEntry entry, IEImm val) Method parameters in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator with type arguments of type IEImm -
Uses of IEImm in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt that return IEImmModifier and TypeMethodDescriptionEMasterOptimizer.getDefaultInput
(int reg) IEMasterOptimizer.getDefaultInput
(int reg) Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt with parameters of type IEImmModifier and TypeMethodDescriptionvoid
EMasterOptimizer.addDefaultInput
(int bit, IEImm val) void
IEMasterOptimizer.addDefaultInput
(int bit, IEImm val)