public interface

IEGlobalContext

com.pnfsoftware.jeb.core.units.code.asm.decompiler.IEGlobalContext

Summary

Public Methods
abstract void addRoutineContext(IERoutineContext ctx)
abstract IEState buildState()
abstract boolean canCreateVariable(int id, int bitsize)
abstract IEBranchDetails createBranchDetails(List<IEVar> def, List<IEVar> use, int fallbackStackPointerDelta, IPrototypeItem nativePrototypeHint, List<? extends IBranchTarget> dynamicTargetCandidates)
Create basic branch details information.
abstract IEBranchDetails createBranchDetails(List<IEVar> def, List<IEVar> use, int fallbackStackPointerDelta)
Create basic branch details information.
abstract IECompose createCompose(IEGeneric... elts)
abstract IECompose createCompose(Collection<IEGeneric> elts)
abstract IECond createCond(IEGeneric p, IEGeneric a, IEGeneric b)
abstract IEImm createImm(long v, int bitsize)
abstract IEImm createImm(byte[] v, int bitsize)
abstract IEMem createMem(IEGeneric segment, IEGeneric opaddr, int bitsize)
abstract IEMem createMem(IEGeneric opaddr, int bitsize)
abstract IEOperation createOperation(OperationType optype, IEGeneric op1)
abstract IEOperation createOperation(OperationType optype, IEGeneric op1, IEGeneric op2)
abstract IERange createRange(int begin, int end)
abstract IEVar createRegister(int id, String name, int bitsize)
Create a physical register with a manually assigned id (use with care).
abstract IEVar createRegister(String name, int bitsize)
Create a physical register.
abstract IESlice createSlice(IEGeneric e, int bitstart, int bitend)
abstract IEVar createVirtualRegister(int id, String name, int bitsize)
Create a virtual register with a manually assigned id (use with care).
abstract IEVar createVirtualRegister(String name, int bitsize)
Create a virtual register.
abstract int getAddressBitsize()
abstract Collection<? extends IEVar> getAllRegisters()
abstract Collection<? extends IEVar> getAllRegisters(Set<Integer> exclusions)
abstract Collection<? extends IEVar> getAllVariables()
abstract AbstractConverter<?> getConverter()
abstract INativeDecompilerUnit<?> getDecompiler()
abstract List<? extends IERoutineContext> getRoutineContexts()
Retrieve a list of all converted routines.
abstract IEVar getVar(int id)
abstract IEVar getVarSafe(int id)
abstract Collection<? extends IEVar> getVariables(int idStart, int idEnd)
abstract boolean isBigEndian()
abstract boolean removeRoutineContext(IERoutineContext ctx)
Delete a converted routine.

Public Methods

public abstract void addRoutineContext (IERoutineContext ctx)

public abstract IEState buildState ()

public abstract boolean canCreateVariable (int id, int bitsize)

public abstract IEBranchDetails createBranchDetails (List<IEVar> def, List<IEVar> use, int fallbackStackPointerDelta, IPrototypeItem nativePrototypeHint, List<? extends IBranchTarget> dynamicTargetCandidates)

Create basic branch details information.

public abstract IEBranchDetails createBranchDetails (List<IEVar> def, List<IEVar> use, int fallbackStackPointerDelta)

Create basic branch details information.

Parameters
fallbackStackPointerDelta the provided SP delta will have unknown guarantee and unknown origin

public abstract IECompose createCompose (IEGeneric... elts)

public abstract IECompose createCompose (Collection<IEGeneric> elts)

public abstract IECond createCond (IEGeneric p, IEGeneric a, IEGeneric b)

public abstract IEImm createImm (long v, int bitsize)

public abstract IEImm createImm (byte[] v, int bitsize)

public abstract IEMem createMem (IEGeneric segment, IEGeneric opaddr, int bitsize)

public abstract IEMem createMem (IEGeneric opaddr, int bitsize)

public abstract IEOperation createOperation (OperationType optype, IEGeneric op1)

public abstract IEOperation createOperation (OperationType optype, IEGeneric op1, IEGeneric op2)

public abstract IERange createRange (int begin, int end)

public abstract IEVar createRegister (int id, String name, int bitsize)

Create a physical register with a manually assigned id (use with care). Shared across routines boundaries. No address, no type.

public abstract IEVar createRegister (String name, int bitsize)

Create a physical register. Shared across routines boundaries. No address, no type.

public abstract IESlice createSlice (IEGeneric e, int bitstart, int bitend)

public abstract IEVar createVirtualRegister (int id, String name, int bitsize)

Create a virtual register with a manually assigned id (use with care). Preserved/not shared across routines boundaries. No address, no type.

public abstract IEVar createVirtualRegister (String name, int bitsize)

Create a virtual register. Preserved/not shared across routines boundaries. No address, no type.

public abstract int getAddressBitsize ()

public abstract Collection<? extends IEVar> getAllRegisters ()

public abstract Collection<? extends IEVar> getAllRegisters (Set<Integer> exclusions)

public abstract Collection<? extends IEVar> getAllVariables ()

public abstract AbstractConverter<?> getConverter ()

public abstract INativeDecompilerUnit<?> getDecompiler ()

public abstract List<? extends IERoutineContext> getRoutineContexts ()

Retrieve a list of all converted routines.

public abstract IEVar getVar (int id)

public abstract IEVar getVarSafe (int id)

public abstract Collection<? extends IEVar> getVariables (int idStart, int idEnd)

public abstract boolean isBigEndian ()

public abstract boolean removeRoutineContext (IERoutineContext ctx)

Delete a converted routine.