Package com.pnfsoftware.jeb.core
Interface IPlugin
- All Known Subinterfaces:
ICOptimizer,IDebuggerUnitIdentifier,IDOptimizer,IDynamicTargetPlugin,IEnginesPlugin,IEOptimizer,IJOptimizer,INativeDecompilerExtension,INativeDecompilerExtensionsManager,INativeDecompilerPlugin<InsnType>,INativeDisassemblerPlugin<InsnType>,INativePlugin<InsnType>,IOptimizer<T>,IUnitContribution,IUnitIdentifier,IUnitInterpreter,IUnitPlugin
- All Known Implementing Classes:
AbstractCBlockOptimizer,AbstractCElementOptimizer,AbstractCOptimizer,AbstractCStatementOptimizer,AbstractDCollectionOptimizer,AbstractDOptimizer,AbstractEBlockOptimizer,AbstractEExpressionOptimizer,AbstractEnginesPlugin,AbstractEOptimizer,AbstractEPatternOptimizer,AbstractEStatementOptimizer,AbstractJBlockOptimizer,AbstractJElementOptimizer,AbstractJOptimizer,AbstractJStatementOptimizer,AbstractNativeDecompilerExtension,AbstractNativeDecompilerPlugin,AbstractNativeDisassemblerPlugin,AbstractNativePlugin,AbstractOptimizer,AbstractPlugin,AbstractUnitIdentifier,AbstractUnitPlugin
public interface IPlugin
Base interface for JEB back-end plugins.
Plugins should not implement this interface directly, but instead implement one of the children interfaces that are made available by the API:
IEnginesPluginfor generic engines pluginsIUnitIdentifierfor parsers/disassemblers/decompilers/debuggers/etc.IUnitContributionfor contributions (ie, extensions) to parsersIUnitInterpreterfor interpreters (ie, command-line extensions) to parsersIOptimizerfor native IR and AST optimizers forgendec, JEB's generic decompilerIDOptimizerfor IR optimizers used bydexdec, JEB's dex decompiler.IJOptimizerfor AST optimizers used bydexdec, JEB's dex decompiler.
Implementation note: JEB plugins can be written in Java (and optionally contained in JAR files). Contributions may also be written in Python.
-
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()Dispose of resources used by this plugin.Retrieve a piece of transient plugin data.Retrieve basic information about the plugin, such as name, version, author, and organization.voidStore a piece of transient plugin data.
-
Method Details
-
getPluginInformation
IPluginInformation getPluginInformation()Retrieve basic information about the plugin, such as name, version, author, and organization.- Returns:
- the plugin information
-
setData
Store a piece of transient plugin data.- Parameters:
key-value-
-
getData
Retrieve a piece of transient plugin data.- Parameters:
key-- Returns:
-
dispose
void dispose()Dispose of resources used by this plugin. The engines context calls this method upon plugin unloading.
-