public interface

IPlugin

com.pnfsoftware.jeb.core.IPlugin
Known Indirect Subclasses

Class Overview

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 plugins
  • IUnitIdentifier for parsers/disassemblers/decompilers/debuggers/etc.
  • IUnitContribution for contributions (ie, extensions) to parsers
  • IUnitInterpreter for interpreters (ie, command-line extensions) to parsers
  • IOptimizer for native IR and AST optimizers for gendec, JEB's generic decompiler
  • IDOptimizer for IR optimizers used by dexdec, JEB's dex decompiler.
  • IJOptimizer for AST optimizers used by dexdec, 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.

Summary

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.

Public Methods

public abstract void dispose ()

Dispose of resources used by this plugin. The engines context calls this method upon plugin unloading.

public abstract Object getData (Object key)

Retrieve a piece of transient plugin data.

public abstract IPluginInformation getPluginInformation ()

Retrieve basic information about the plugin, such as name, version, author, and organization.

Returns
  • the plugin information

public abstract void setData (Object key, Object value)

Store a piece of transient plugin data.