Uses of Class
com.pnfsoftware.jeb.core.units.code.asm.cfg.CFG
Packages that use CFG
Package
Description
Types relating to the disassembler engine.
Control-flow graph types specific to native code.
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 used by the IR template and IR compiler.
Types specific to
gendec
's IR optimizers.Native code items, including code items and data items.
-
Uses of CFG in com.pnfsoftware.jeb.core.units.code.asm.analyzer
Methods in com.pnfsoftware.jeb.core.units.code.asm.analyzer with parameters of type CFGModifier and TypeMethodDescriptionAbstractAnalyzerExtension.determineRoutineStackPointerDelta
(CFG<InsnType> routine) The default result (ChainedOperationResult.getResult()
) is null.INativeCodeAnalyzerExtension.determineRoutineStackPointerDelta
(CFG<InsnType> routine) Determine (heuristically) the stack pointer delta generated by the execution of a routine.ChainedOperationResult<? extends Pointer>
AbstractAnalyzerExtension.getTrampolineTarget
(CFG<InsnType> routine) The default result (ChainedOperationResult.getResult()
) is null.ChainedOperationResult<? extends Pointer>
INativeCodeAnalyzerExtension.getTrampolineTarget
(CFG<InsnType> routine) Get the location targeted by a trampoline routine -- a routine that only branches to another location --, if any. -
Uses of CFG in com.pnfsoftware.jeb.core.units.code.asm.cfg
Fields in com.pnfsoftware.jeb.core.units.code.asm.cfg declared as CFGMethods in com.pnfsoftware.jeb.core.units.code.asm.cfg that return CFGModifier and TypeMethodDescriptionstatic <T extends IInstruction>
CFG<T>CFGUtil.duplicateShallow
(CFG<T> cfg) Shallow duplication of a CFG.CFGFormatter.getCfg()
AbstractCFGReorganizer.getReorganizedCfg()
Retrieve a CFG reorganized byAbstractCFGReorganizer.reorder(int[])
.AbstractCFGReorganizer.reorder
(int[] newOrder) CFG.shallowCopy
(boolean copyBlockReferences) Perform a shallow duplication of a CFG:
- Block references are optionally copied
- DFA data is not copiedMethods in com.pnfsoftware.jeb.core.units.code.asm.cfg with parameters of type CFGModifier and TypeMethodDescriptionstatic <T extends IInstruction>
booleanCFGUtil.compare
(int failmode, Comparator<T> comparator, CFG<T> cfg1, CFG<T> cfg2) Basic CFG comparison.static <T extends IInstruction>
booleanBasic CFG comparison.static <T extends IInstruction>
CFG<T>CFGUtil.duplicateShallow
(CFG<T> cfg) Shallow duplication of a CFG.static <T extends IInstruction>
Collection<BasicBlock<T>>CFGUtil.getReachableBlocks
(CFG<T> cfg) Collect the list of all blocks reachable from the entry point.static <T extends IInstruction>
intCFGUtil.removeUnreachableBlocks
(CFG<T> cfg) Remove all blocks not reachable from the entry-point.static <T extends IInstruction>
intCFGUtil.removeUnreachableBlocks
(CFG<T> cfg, List<BasicBlock<T>> tbr) Remove a list of blocks from the CFG.Constructors in com.pnfsoftware.jeb.core.units.code.asm.cfg with parameters of type CFGModifierConstructorDescriptionCFGFormatter
(CFG<InsnType> cfg) Legacy CFG formatter.CFGFormatter
(CFG<InsnType> cfg, IVariableProvider varprv, boolean formatFineGrained) Build a CFG formatter with an optional variable provider to aid in the representation of data chains.CFGVerifier
(CFG<InsnType> cfg) -
Uses of CFG in com.pnfsoftware.jeb.core.units.code.asm.decompiler
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler that return CFGModifier and TypeMethodDescriptionIERoutineContext.buildCfg
(List<IEStatement> statements) Build an IR-CFG using the provided list of statements, and set the resulting CFG as the current CFG for this converted routine.IERoutineContext.buildCfg
(List<IEStatement> statements, boolean subroutineCallNotBreaking, boolean assignToContext) Build an IR-CFG from a list of statements.IERoutineContext.getCfg()
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler with parameters of type CFGModifier and TypeMethodDescriptionAbstractNativeDecompilerExtension.applyAdditionalTypes
(IDecompiledMethod target, CFG<IEStatement> cfg) The default implementation does nothing and requests continuation.INativeDecompilerExtension.applyAdditionalTypes
(IDecompiledMethod target, CFG<IEStatement> cfg) This method is called by the decompiler just before type propagation on the IR-CFG takes place.protected void
AbstractConverter.postBlockConversion
(CFG<InsnType> cfg, BasicBlock<InsnType> b, List<IEStatement> interlist, int cnt) This method is called afterAbstractConverter.convertBlock(BasicBlock, List)
is called.protected BasicBlock<InsnType>
AbstractConverter.preBlockConversion
(CFG<InsnType> cfg, BasicBlock<InsnType> b, List<IEStatement> interlist) This method is called beforeAbstractConverter.convertBlock(BasicBlock, List)
is called.AbstractNativeDecompilerExtension.resolveVariableArgumentInformation
(IERoutineContext ctx, CFG<IEStatement> cfg, int iblk, IWildcardPrototype proto) INativeDecompilerExtension.resolveVariableArgumentInformation
(IERoutineContext ctx, CFG<IEStatement> cfg, int iblk, IWildcardPrototype proto) void
IERoutineContext.setCfg
(CFG<IEStatement> cfg) -
Uses of CFG in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir
Fields in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir declared as CFGMethods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir that return CFGModifier and TypeMethodDescriptionstatic CFG<IEStatement>
EUtil.expandStatementSize
(IERoutineContext ectx, IEStatement stm0, int minSize) Expand thesize
of a statement.static CFG<IEStatement>
EUtil.expandStatementSizes
(IERoutineContext ectx, Collection<IEStatement> stmcoll, int minSize) Expand thesizes
of a collection of statements.Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir with parameters of type CFGModifier and TypeMethodDescriptionstatic Boolean
EUtil.checkCallReturnAddress
(IERoutineContext ctx, CFG<IEStatement> cfg, BasicBlock<IEStatement> b, int insnIndex) static void
EUtil.dump
(CFG<IEStatement> cfg, String filename) Dump an IR-CFG to a Graphvizdot
file in the user's temporary folder.static void
EUtil.dump
(CFG<IEStatement> cfg, String filename, String title) Dump an IR-CFG to a Graphvizdot
file in the user's temporary folder.static AddressConversionLists
AddressConversionLists.generateFromCFG
(CFG<IEStatement> cfg) Generate conversion lists from a CFG.static void
EUtil.verify
(CFG<IEStatement> cfg) Verify an IR-CFG.Constructors in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir with parameters of type CFGModifierConstructorDescriptionECFGFormatter
(CFG<IEStatement> cfg) ECFGFormatter
(CFG<IEStatement> cfg, IVariableProvider varprv, boolean formatFineGrained) -
Uses of CFG in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler that return CFGModifier and TypeMethodDescriptionECompiler.compileCfg
(IERoutineContext ctx, String... slist) Compile a sequence of statements and return the CFG.ECompiler.compileCfg
(String... slist) Compile a sequence of statements and return the CFG.EPatternMatcher.Result.getCfg()
EPatternMatcher.getInputCfg()
Constructors in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler with parameters of type CFGModifierConstructorDescriptionEPatternMatcher
(EPatternCompiler.EPattern pattern, CFG<IEStatement> cfg, IERoutineContext ctx) -
Uses of CFG in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt
Fields in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt declared as CFGMethods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt with parameters of type CFGModifier and TypeMethodDescriptionboolean
IEOptFilterCanDiscard.check
(CFG<IEStatement> cfg, long insnAddress, int varDefId) -
Uses of CFG in com.pnfsoftware.jeb.core.units.code.asm.items
Methods in com.pnfsoftware.jeb.core.units.code.asm.items that return CFG