Uses of Interface
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar
Packages that use IEVar
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).Types specific to
gendec
's IR optimizers.-
Uses of IEVar in com.pnfsoftware.jeb.core.units.code.asm.decompiler
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler that return IEVarModifier and TypeMethodDescriptionIERoutineContext.copyPairOfVariables
(IEVar lo, IEVar hi) Create a copy variable for a pair of variable.IERoutineContext.copyVariable
(IEVar var) Create the copy of a variable.IEGlobalContext.createGlobalReference
(String name, Long address) Create or retrieve a variable referencing a global element.IEGlobalContext.createGlobalVariable
(long address, int bitsize) Create a global, memory-mapped variable.IEGlobalContext.createRegister
(int id, String name, int bitsize) Create a physical register with a manually assigned id (use with care).IEGlobalContext.createRegister
(String name, int bitsize) Create a physical register.IERoutineContext.createStackReference
(long stkVarOffset) Retrieve or create a stack reference, ie a pointer to stack-memory variable.IERoutineContext.createStackReference
(long stkVarOffset, IWildcardType type) Retrieve or create a stack reference, ie a pointer to stack-memory variable.IEGlobalContext.createSymbolForData
(INativeDataItem data, IERoutineContext userctx) IERoutineContext.createSymbolForField
(INativeFieldItem variable) IERoutineContext.createSymbolForGlobalVariable
(INativeDataItem variable) IEGlobalContext.createSymbolForRoutine
(INativeMethodItem routine, IERoutineContext userctx) IERoutineContext.createSymbolForRoutine
(INativeMethodItem routine) Create or retrieve a special routine-scope variable.IEGlobalContext.createVirtualRegister
(int id, String name, int bitsize) Create a virtual register with a manually assigned id (use with care).IEGlobalContext.createVirtualRegister
(String name, int bitsize) Create a virtual register.IERoutineContext.createVirtualVar
(String name, int bitsize) Create or retrieve a virtual routine-scope variable.AbstractConverter.getFPRegister
(int index) IEConverter.getFPRegister
(int index) Retrieve the IR variable object that represents the Floating-point register.IEGlobalContext.getGlobalVariable
(long address) AbstractConverter.getGPRegister
(int index) IEConverter.getGPRegister
(int index) Retrieve the IR variable object that represents the General Purpose register.AbstractConverter.getInputVariableByIndex
(IERoutineContext ctx, int i) The default implementation returns null.IEConverter.getInputVariableByIndex
(IERoutineContext ctx, int i) AbstractConverter.getOutputVariableByIndex
(IERoutineContext ctx, int i) The default implementation returns null.IEConverter.getOutputVariableByIndex
(IERoutineContext ctx, int i) IEConverter.getProgramCounter()
Retrieve the IR variable object that represents the program counter.IERoutineContext.getProgramCounter()
Convenience method.IERoutineContext.getRegisterMirror
(IEVar reg) Retrieve or create the mirror - that is, the first full copy, in the [IDL_MIRROR
,IDL_MIRROR_END
[ range - of the provided register.AbstractConverter.getReturnAddressRegister()
The default implementation considers that there is no specific Return Address Register.IEConverter.getReturnAddressRegister()
Retrieve the IR variable object that represents the return address register.IEConverter.getStackPointer()
Retrieve the IR variable object that represents the stack pointer.IERoutineContext.getStackPointer()
Convenience method.IERoutineContext.getStackReference
(long stkVarOffset) Retrieve a stack reference, i.e.IERoutineContext.getStackVariable
(int offset) Retrieve the stack variable at the provided offset.INativeObjectTracker.getSymbolForNativeItem
(INativeItem item, INativeMethodItem userctx, IERoutineContext ectx) AbstractConverter.getTempRegister
(int index) IEConverter.getTempRegister
(int index) IEGlobalContext.getVar
(int id) Retrieve a global contextIEVar
by id.IERoutineContext.getVariableById
(int id) Retrieve a variable (routine-scope or global-scope) by id.IEGlobalContext.getVariableByName
(String name) Retrieve a global-scope variable by name.IERoutineContext.getVariableByName
(String name) Retrieve a routine-scope variable by name.IEGlobalContext.getVarSafe
(int id) IERoutineContext.removeStackReference
(long stkVarOffset) Remove a stack reference.Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler that return types with arguments of type IEVarModifier and TypeMethodDescriptionIERoutineContext.copyTruncatedVariable
(IEVar var, int lowPartBitsize) Create a truncated copy of a variable.IERoutineContext.copyTruncatedVariable
(IEVar var, int lowPartBitsize) Create a truncated copy of a variable.IEGlobalContext.getAllRegisters()
IEGlobalContext.getAllRegisters
(Set<Integer> exclusions) IEGlobalContext.getAllVariables()
IERoutineContext.getDuplicatesForRegister
(int regId) Retrieve the list of duplicates (mirror, secondary dups) associated to a register.IEGlobalContext.getGlobalVariables()
Retrieve the list of globals (memory) variables defined in this context.IERoutineContext.getMemoryVariables()
Retrieve the list of memory variables used by this context: stack variables and global variables.IERoutineContext.getRoutineVariablesInRange
(int idStart, int idEnd) IERoutineContext.getStackVariables()
Retrieve the list of memory stack variables used by this context.IERoutineContext.getStackVariables
(int offsetStart, int offsetEnd) Retrieve all defined stack variables whose (starting) offset are included in the provided range.IEGlobalContext.getVariables
(int idStart, int idEnd) Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler with parameters of type IEVarModifier and TypeMethodDescriptionIERoutineContext.copyPairOfVariables
(IEVar lo, IEVar hi) Create a copy variable for a pair of variable.IERoutineContext.copyTruncatedVariable
(IEVar var, int lowPartBitsize) Create a truncated copy of a variable.IERoutineContext.copyVariable
(IEVar var) Create the copy of a variable.IERoutineContext.getInputVariableForRegister
(IDFA<IEStatement> dfa, IEVar reg) INativeObjectTracker.getNativeItemFromVar
(IEVar var) final long
AbstractConverter.getNativeRegisterIdFromRegisterVariable
(IEVar regVar) long
AbstractConverter.getNativeRegisterIdFromRegisterVariable
(IEVar regVar, boolean shortForm) The default implementation attempts to resolve the register variable by querying the associated processor's register bank layout.long
IEConverter.getNativeRegisterIdFromRegisterVariable
(IEVar regVar) long
IEConverter.getNativeRegisterIdFromRegisterVariable
(IEVar regVar, boolean shortForm) Get the native platform register number or id (as defined in a register bank layout) corresponding to the providedIEVar
-register IR variable.IERoutineContext.getOutputVariableForRegister
(IDFA<IEStatement> dfa, long exitAddress, IEVar reg) IERoutineContext.getRegisterMirror
(IEVar reg) Retrieve or create the mirror - that is, the first full copy, in the [IDL_MIRROR
,IDL_MIRROR_END
[ range - of the provided register.IEGlobalContext.retrieveDataFromSymbol
(IEVar var) IEGlobalContext.retrieveRoutineFromSymbol
(IEVar var) Method parameters in com.pnfsoftware.jeb.core.units.code.asm.decompiler with type arguments of type IEVarModifier and TypeMethodDescriptionIEGlobalContext.createBranchDetails
(List<IEVar> def, List<IEVar> use, List<IEVar> spoiled, int fallbackStackPointerDelta) Create basic branch details information.IEGlobalContext.createBranchDetails
(List<IEVar> def, List<IEVar> use, List<IEVar> spoiled, int fallbackStackPointerDelta, IPrototypeItem nativePrototypeHint, List<IBranchTarget> dynamicTargetCandidates) Create basic branch details information.IERoutineContext.createCall
(IEGeneric callsite, List<IEVar> targetCandidates, IWildcardPrototype prototype, List<IWildcardType> varArgTypes, boolean failsafePrototype) -
Uses of IEVar in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir that return IEVarModifier and TypeMethodDescriptiondefault IEVar
IEGeneric.asVar()
IEStackManager.createPureStackItem
(long offset, int bitsize) Create a pureIEVar
, regardless of a referenced native stack.IEStackManager.createStackItem
(long preferredOffset, int preferredBitsize) Create a new stack variable.EVarCopyFinder.getVarForRegPair
(boolean createIfNotFound) IEStackManager.getVariable
(long offset) IEStackManager.getVariableAtSlot
(int index) static IEVar
EUtil.getVarSlice
(IEGeneric e) IEVar[]
EVarCopyFinder.getVarsToSubstitute()
EVarCopyFinder.getVarToSubstitute
(int index) IEStackManager.removeVariable
(long offset) IEStackManager.removeVariable
(IEVar var) Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir that return types with arguments of type IEVarModifier and TypeMethodDescriptionEUtil.collectVars
(IEGeneric e) MemoryAccessInfo.filterGlobalsReads
(Collection<IEVar> candidates) MemoryAccessInfo.filterGlobalsWrites
(Collection<IEVar> candidates) MemoryAccessInfo.filterStackReads
(Collection<IEVar> candidates) MemoryAccessInfo.filterStackSpoiled
(Collection<IEVar> candidates) MemoryAccessInfo.filterStackWrites
(Collection<IEVar> candidates) EBranchDetails.getDef()
IEBranchDetails.getDef()
Retrieve the list of defines.IECall.getDynamicTargetCandidates()
IEUntranslatedInstruction.getSideEffectDefinedVariables()
IEUntranslatedInstruction.getSideEffectSpoiledVariables()
IEUntranslatedInstruction.getSideEffectUsedVariables()
EBranchDetails.getSpoiled()
IEBranchDetails.getSpoiled()
Retrieve the list of spoiled variables.EBranchDetails.getUse()
IEBranchDetails.getUse()
Retrieve the list of uses.IEStackManager.getVariables()
EUtil.getVars
(IERoutineContext ctx, Collection<Integer> varids) Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir with parameters of type IEVarModifier and TypeMethodDescriptionvoid
void
EDefUseInfo.addDefined
(IEVar var) void
EDefUseInfo.addPotential
(IEVar var, boolean isDef) void
EDefUseInfo.addPotentialDefined
(IEVar var) void
EDefUseInfo.addPotentialUsed
(IEVar var) void
IEUntranslatedInstruction.addSideEffectDefinedVariable
(IEVar... vars) void
IEUntranslatedInstruction.addSideEffectSpoiledVariable
(IEVar... vars) void
IEUntranslatedInstruction.addSideEffectUsedVariable
(IEVar... vars) void
EDefUseInfo.addSpoiled
(IEVar var) void
void
IEVar.copyProperties
(IEVar dst) static int
EUtil.countVariablePresence
(IEGeneric e, IEVar target) Count the number of times anIEVar
is present in an expression.Retrieve the value of a variable.EState.getValueSafe
(IEVar var) Retrieve the value of a variable.static boolean
EUtil.hasExplicitlyUsedVar
(IEGeneric e, IEVar target) default boolean
IEStatement.isAssignTo
(IEVar dst) static boolean
EUtil.isVariableAssigned
(IEStatement stm, IEVar var) IEStackManager.removeVariable
(IEVar var) int
IEStatement.replaceDefinedVar
(IEVar var, IEGeneric repl) Replace (deep) the variables that are defined by this statement.default int
IEStatement.replaceUsedVar
(IEVar var, IEGeneric repl) Replace (deep) the variables that are defined by this statement.int
IEGeneric.replaceVar
(IEVar var, IEGeneric repl) Deep replace.int
IEStatement.replaceVar
(IEVar var, IEGeneric repl, boolean doNotReplaceDefinedVariables) Deep replace.void
Set a variable to a defined value.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 IEVarModifier and TypeMethodDescriptionvoid
EDefUseInfo.add
(Collection<IEVar> vars, boolean isDef) void
EDefUseInfo.addDefined
(Collection<IEVar> vars) void
EDefUseInfo.addPotential
(Collection<IEVar> vars, boolean isDef) void
EDefUseInfo.addPotentialDefined
(Collection<IEVar> vars) void
EDefUseInfo.addPotentialUsed
(Collection<IEVar> vars) void
EDefUseInfo.addSpoiled
(Collection<IEVar> vars) void
IECall.addSpoiledVariables
(List<IEVar> spoiledVariables) Use only if a dummy/failsafe prototype was setvoid
EDefUseInfo.addUsed
(Collection<IEVar> vars) static void
EUtil.collectVars
(IEGeneric e, Collection<IEVar> sink) Collect all EVars of an expression.MemoryAccessInfo.filterGlobalsReads
(Collection<IEVar> candidates) MemoryAccessInfo.filterGlobalsWrites
(Collection<IEVar> candidates) MemoryAccessInfo.filterStackReads
(Collection<IEVar> candidates) MemoryAccessInfo.filterStackSpoiled
(Collection<IEVar> candidates) MemoryAccessInfo.filterStackWrites
(Collection<IEVar> candidates) Constructor parameters in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir with type arguments of type IEVarModifierConstructorDescriptionEBranchDetails
(List<IEVar> def, List<IEVar> use, List<IEVar> spoiled, int stackPointerDelta, IPrototypeItem nativePrototypeHint, List<IBranchTarget> dynamicTargetCandidates) -
Uses of IEVar in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt
Method parameters in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt with type arguments of type IEVarModifier and TypeMethodDescriptionvoid
EMasterOptimizer.addDisregardedOutputVariables
(Collection<? extends IEVar> disregardedOutputVars) void
IEMasterOptimizer.addDisregardedOutputVariables
(Collection<? extends IEVar> disregardedOutputVars)