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:
IEnginesPlugin
for generic engines pluginsIUnitIdentifier
for parsers/disassemblers/decompilers/debuggers/etc.IUnitContribution
for contributions (ie, extensions) to parsersIUnitInterpreter
for interpreters (ie, command-line extensions) to parsersIOptimizer
for native IR and AST optimizers forgendec
, JEB's generic decompilerIDOptimizer
for IR optimizers used bydexdec
, JEB's dex decompiler.IJOptimizer
for 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 TypeMethodDescriptionvoid
dispose()
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.void
Store 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.
-