public interface

INativeDecompilerUnit

implements IDecompilerUnit
com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerUnit<InsnType extends com.pnfsoftware.jeb.core.units.code.IInstruction>

Summary

Public Methods
abstract INativeSourceUnit decompile(String identifier)
Retrieve a decompiled unit or perform a decompilation.
abstract INativeSourceUnit decompile(String identifier, TargetProperties properties)
Extended version of decompile(String).
abstract INativeDecompilationTarget decompileMethod(INativeMethodItem method, boolean decompile, NativeDecompilationStage wantedStage, TargetProperties properties)
abstract INativeCodeUnit<InsnType> getCodeUnit()
Get the code unit (possibly the parent, possibly null) that is providing the low-level data to this decompiler.
abstract IEConverter<InsnType> getConverter()
Retrieve a decompiler-provided native code converter.
abstract INativeSourceUnit getDecompiledUnit(String identifier)
Retrieve the unit representing the decompiled entity at the provided identifier/address.
abstract List<? extends IOptimizerInfo> getOnDemandIROptimizers(String identifier)
Retrieve a list of on-demand optimizers that can be enabled or disabled for this decompiler.
abstract void resetDecompilation(String identifier, boolean reDecompile)
Reset a given decompilation.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.IUnitCreator
From interface com.pnfsoftware.jeb.core.units.IAddressableUnit
From interface com.pnfsoftware.jeb.core.units.IInteractiveUnit
From interface com.pnfsoftware.jeb.core.units.IUnit
From interface com.pnfsoftware.jeb.core.units.code.IDecompilerUnit
From interface com.pnfsoftware.jeb.util.events.IEventSource

Public Methods

public abstract INativeSourceUnit decompile (String identifier)

Retrieve a decompiled unit or perform a decompilation.

Parameters
identifier the identifier or address at which the decompilation should be performed
Returns
  • the source unit

public abstract INativeSourceUnit decompile (String identifier, TargetProperties properties)

Extended version of decompile(String).

Parameters
properties optional properties

public abstract INativeDecompilationTarget decompileMethod (INativeMethodItem method, boolean decompile, NativeDecompilationStage wantedStage, TargetProperties properties)

public abstract INativeCodeUnit<InsnType> getCodeUnit ()

Get the code unit (possibly the parent, possibly null) that is providing the low-level data to this decompiler.

Returns
  • a code unit, possibly null

public abstract IEConverter<InsnType> getConverter ()

Retrieve a decompiler-provided native code converter. The converter provides translation facility from native code to JEB IR objects, called IRE (Intermediate Representation Expressions), see documentation here.

Note: a decompiler object has one and only one code converter.

Returns
  • a native-to-IR converter

public abstract INativeSourceUnit getDecompiledUnit (String identifier)

Retrieve the unit representing the decompiled entity at the provided identifier/address. No decompilation is performed.

Parameters
identifier the identifier or address
Returns
  • the unit or null, if no decompilation at the provided identifier previously took place

public abstract List<? extends IOptimizerInfo> getOnDemandIROptimizers (String identifier)

Retrieve a list of on-demand optimizers that can be enabled or disabled for this decompiler. Note that the client is responsible for re-decompiling, if optimizers were enabled or disabled.

public abstract void resetDecompilation (String identifier, boolean reDecompile)

Reset a given decompilation.