com.pnfsoftware.jeb.core.IPlugin |
![]()
AbstractEBlockOptimizer,
AbstractEExpressionOptimizer,
AbstractEOptimizer,
AbstractEStatementOptimizer,
AbstractEnginesPlugin,
AbstractNativeDecompilerExtension,
AbstractNativeDecompilerPlugin<InsnType extends IInstruction>,
AbstractNativeDisassemblerPlugin<InsnType extends IInstruction>,
AbstractNativePlugin<InsnType extends IInstruction>,
AbstractOptimizer<T>,
AbstractPlugin,
AbstractUnitIdentifier,
AbstractUnitPlugin,
IDebuggerUnitIdentifier,
IDynamicTargetPlugin,
and
12 others.
|
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 (used by the JEB Native Analysis
Pipeline)Implementation note: JEB plugins can be written in Java (and optionally contained in JAR files). Contributions may also be written in Python.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract void |
dispose()
Dispose of resources used by this plugin.
| ||||||||||
abstract Object |
getData(Object key)
Retrieve a piece of transient plugin data.
| ||||||||||
abstract IPluginInformation |
getPluginInformation()
Retrieve basic information about the plugin, such as name, version, author, and organization.
| ||||||||||
abstract void |
setData(Object key, Object value)
Store a piece of transient plugin data.
|
Dispose of resources used by this plugin. The engines context calls this method upon plugin unloading.
Retrieve a piece of transient plugin data.
Retrieve basic information about the plugin, such as name, version, author, and organization.
Store a piece of transient plugin data.