Package Index

Application Programming Interface documentation for JEB. The API is used to create JEB extensions, plugins, and scripts, in Java or Python (2.7).

All packages are located under the common namespace com.pnfsoftware.jeb:

  • The client.** packages contain client-specific types
  • The core.** packages contain back-end types
  • The util.** packages contain utility code

To get started, visit the developer portal and check out sample code.

Want to run some code right now?

  • Open your JEB GUI client
  • Hit F2 to open the Scripts Manager
  • Execute

com.pnfsoftware.jeb.client This package and its sub-packages contain types and interfaces used to build JEB clients and interact with client-specific sides of a JEB instance.
com.pnfsoftware.jeb.client.api Types used by scripts to interact with the analysis results presented by a JEB client. Types related to client-specific events (not back-end events).
com.pnfsoftware.jeb.client.floating Types used to by floating clients to interact with controllers.
com.pnfsoftware.jeb.client.jebio Types to interact with the JEB.IO portal.
com.pnfsoftware.jeb.client.script Facility code to provide implementors of JEB clients a way to offer scripting supports to JEB users.
com.pnfsoftware.jeb.client.telemetry Types related to telemetry information that can be generated by JEB clients.
com.pnfsoftware.jeb.core The core package and sub-packages define classes and interfaces to interact with and develop JEB back-end plugins.
com.pnfsoftware.jeb.core.actions Support types for actions that units may provide and implementation in order to allow generic access requests.
com.pnfsoftware.jeb.core.dao Data Access Objects types used by the back-end engines to access artifact files, project files, configuration files, and so on.
com.pnfsoftware.jeb.core.dao.impl Simple implementations DAOs that can be instantiated by clients. Event and notification types used by the back-end.
com.pnfsoftware.jeb.core.exceptions Custom exceptions generated by the back-end.
com.pnfsoftware.jeb.core.input Types used by units to read data.
com.pnfsoftware.jeb.core.output Types to build unit-generated contents in the form of text, table, or tree documents.
com.pnfsoftware.jeb.core.output.code Specialized text document useful for code units.
com.pnfsoftware.jeb.core.output.code.coordinates Coordinates system used by code units.
com.pnfsoftware.jeb.core.output.table Types for table documents, useful to represent tabular data generated by a unit.
com.pnfsoftware.jeb.core.output.table.impl Trivial implementations for the table package interfaces.
com.pnfsoftware.jeb.core.output.text Types for text documents, useful to represent textual data generated by a unit.
com.pnfsoftware.jeb.core.output.text.impl Trivial implementations for the text package interfaces.
com.pnfsoftware.jeb.core.output.tree Types to generate tree documents, useful to represent hierarchical data generated by a unit.
com.pnfsoftware.jeb.core.output.tree.impl Trivial implementations for the tree package interfaces. Types defining configuration objects, property definition manager, and property manager. Standard implementation of the properties set of interfaces.
com.pnfsoftware.jeb.core.units Types used to implement and access data identifiers, parsers, code analyzers, disassemblers, decompilers, and debuggers.
com.pnfsoftware.jeb.core.units.code Types related to JEB code plugins, including disassemblers, decompilers, and debuggers. This package and sub-packages contain all types used by Android code analysis plugins. Types to access and interact with the Android Debug Bridge (adb). Control flow graph classes used by the Android components, including dexdec. Types representing an Dex structures and Dalvik code. This package contains types used to publicly access and manipulate JEB's DEX Decompiler (referred to as dexdec) Intermediate Representation (IR) objects. Specific types used by Dex units to render Dex disassembly code.
com.pnfsoftware.jeb.core.units.code.asm This package and sub-packages contains types used by the native code analysis pipeline, including gendec (the generic decompiler).
com.pnfsoftware.jeb.core.units.code.asm.analyzer Types relating to the disassembler engine.
com.pnfsoftware.jeb.core.units.code.asm.cfg Control-flow graph types specific to native code.
com.pnfsoftware.jeb.core.units.code.asm.decompiler This package and its sub-packages contain the types used to access gendec, JEB's generic decompiler.
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast C AST types, used in AST documents provided by the source units generated by gendec.
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt Types specific to gendec's AST optimizers.
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.simulator C simulator types, used to emulate AST statements.
com.pnfsoftware.jeb.core.units.code.asm.decompiler.exceptions Specific exception types that may be thrown by gendec components. Types used to create and access gendec's IR (Intermediate Representation). Types used by the IR template and IR compiler. IR emulator facility. Types specific to gendec's IR optimizers.
com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt Common types used by gendec's optimizers.
com.pnfsoftware.jeb.core.units.code.asm.items Native code items, including code items and data items.
com.pnfsoftware.jeb.core.units.code.asm.mangling Types related to mangling and de-mangling of native names.
com.pnfsoftware.jeb.core.units.code.asm.memory Types used to represent a virtual memory used when analyzing native code.
com.pnfsoftware.jeb.core.units.code.asm.processor Types used to define and represent processors' instructions, operands, and registers.
com.pnfsoftware.jeb.core.units.code.asm.processor.arch Architecture-specific information for processors, such as as common registers bank definitions.
com.pnfsoftware.jeb.core.units.code.asm.processor.memory The encoded memory area types can be used to represent some operand encodings.
com.pnfsoftware.jeb.core.units.code.asm.render Types used during the generation of native code disassembly.
com.pnfsoftware.jeb.core.units.code.asm.sig Types for library code signatures (siglib) generation and identification.
com.pnfsoftware.jeb.core.units.code.asm.sig.codeless Types for "code-less" signatures.
com.pnfsoftware.jeb.core.units.code.asm.simulator Types used for (limtied) native instruction simulation.
com.pnfsoftware.jeb.core.units.code.asm.type Classes and interfaces to access and define native types and related objects, used by JEB's native code analysis pipeline (including gendec).
com.pnfsoftware.jeb.core.units.code.dart Types used by Dart code analysis plugins.
com.pnfsoftware.jeb.core.units.code.debug Types used by debugger plugins.
com.pnfsoftware.jeb.core.units.code.debug.impl Standard implementations of debugger related interfaces. Types used to manipulate dexdec-generated (Dex decompiler) Java Abstract Syntax Tree (AST) objects.
com.pnfsoftware.jeb.core.units.code.simatic Public types and interfaces provided by the Simatic S7 analysis plugins.
com.pnfsoftware.jeb.core.units.code.wincommon Types specific to Windows operating systems.
com.pnfsoftware.jeb.core.units.codeobject Types specific to code objects, such as Windows PE, Linux ELF, or Apple Mach-O.
com.pnfsoftware.jeb.core.units.codeobject.dwarf ELF DWARF specific types.
com.pnfsoftware.jeb.core.units.impl Standard implementations of basic units objects.
com.pnfsoftware.jeb.core.util Utility types specific to JEB core, such as unit helper classes.
com.pnfsoftware.jeb.util.base Basic utility types, used by other utility code.
com.pnfsoftware.jeb.util.collect Collections, such as segments, custom maps/sets/lists, etc.
com.pnfsoftware.jeb.util.concurrent Types related to concurrency, synchronization, and external code execution.
com.pnfsoftware.jeb.util.encoding Types to encode and decode data, including hashes/digests calculator, zip and xml implementations.
com.pnfsoftware.jeb.util.encoding.cbor CBOR (Concise Binary Object Representation) types.
com.pnfsoftware.jeb.util.encoding.jflex Jflex usage types.
com.pnfsoftware.jeb.util.encoding.jflex.lexers Actual (concrete) lexers are stored in this package.
com.pnfsoftware.jeb.util.encoding.json JSON types provided by the JSON parser.
com.pnfsoftware.jeb.util.encoding.json.parser JSON parser package.
com.pnfsoftware.jeb.util.encoding.xml Custom read-only XML parser implementation, adhering to org.w3.dom. Zip archive browser facade to access the Oracle, Apache, or other implementations. Custom read-only Zip archive parser, with the goal of being fast and fault-tolerant. Types to implement event sources, and event listeners.
com.pnfsoftware.jeb.util.format Types used to format data to text.
com.pnfsoftware.jeb.util.graph Types used to represent graphs.
com.pnfsoftware.jeb.util.interpreter Types used to build program interpreters. Types for I/O operations, such as file writing/reading, file monitors, directory browsing.
com.pnfsoftware.jeb.util.logging Types used access the logging system used by JEB.
com.pnfsoftware.jeb.util.math Utility code for mathematical operations. Utility code for network operations.
com.pnfsoftware.jeb.util.primitives Utility code operating on primitives.
com.pnfsoftware.jeb.util.reflect Reflection utility code.
com.pnfsoftware.jeb.util.serialization JEB's custom serialization facility (PNF-ORPD).
com.pnfsoftware.jeb.util.serialization.objects Custom types used internally by JEB's serialization facility.