Uses of Interface
com.pnfsoftware.jeb.core.units.IUnit
Packages that use IUnit
Package
Description
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.
Types used by scripts to interact with the analysis results presented by a JEB client.
The core package and sub-packages define classes and interfaces to interact with and
develop JEB back-end plugins.
Custom exceptions generated by the back-end.
Types to build unit-generated contents in the form of text, table, or tree documents.
Trivial implementations for the text package interfaces.
Types used to implement and access data identifiers, parsers, code analyzers, disassemblers,
decompilers, and debuggers.
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.
This package and sub-packages contains types used by the native code analysis pipeline, including
gendec
(the generic decompiler).This package and its sub-packages contain the types used to access
gendec
, JEB's generic
decompiler.C AST types, used in AST documents provided by the
source units
generated by gendec
.Types used by Dart code analysis plugins.
Types used by debugger plugins.
Types used to manipulate
dexdec
-generated (Dex decompiler) Java Abstract Syntax Tree
(AST) objects.Public types and interfaces provided by the Simatic S7 analysis plugins.
Types specific to code objects, such as Windows PE, Linux ELF, or Apple Mach-O.
Standard implementations of basic units objects.
Utility types specific to JEB core, such as unit helper classes.
-
Uses of IUnit in com.pnfsoftware.jeb.client
Methods in com.pnfsoftware.jeb.client that return IUnit -
Uses of IUnit in com.pnfsoftware.jeb.client.api
Methods in com.pnfsoftware.jeb.client.api that return IUnitModifier and TypeMethodDescriptiondefault IUnit
IGraphicalClientContext.getFocusedUnit()
Get the IUnit object represented by the currently focused fragment.IUnitFragment.getUnit()
Get the unit visualized by this fragment.IUnitView.getUnit()
Get the unit represented by this view.UnitFragmentPosition.getUnit()
Convenience method used to create a JEB project (or retrieve the current project if one is opened), load a file artifact into the project, process it, and return the resulting top-level unit.Methods in com.pnfsoftware.jeb.client.api with parameters of type IUnitModifier and TypeMethodDescriptionIGraphicalClientContext.findFragment
(IUnit unit, String label, boolean focus) Find and activate a view fragment for the provided unit with the provided name.Get the list of views representing the given unit within the UI client.boolean
Convenience method used to find and open a unit fragment, and navigate to an optionally-provided address within that fragment.boolean
Create or open the view or set of views representing a given unit.Constructors in com.pnfsoftware.jeb.client.api with parameters of type IUnitModifierConstructorDescriptionUnitFragmentPosition
(IUnit unit, IUnitFragment fragment, IGenericDocument doc, String address, IItem item) -
Uses of IUnit in com.pnfsoftware.jeb.core
Methods in com.pnfsoftware.jeb.core with type parameters of type IUnitModifier and TypeMethodDescriptionstatic <T extends IUnit>
TRuntimeProjectUtil.findFirstUnitByType
(IRuntimeProject prj, Class<T> c, boolean strict) Find a units of a project that are of the specified type.<T extends IUnit>
TConvenience method used to retrieve a unit of the project by its class type.Convenience method used to retrieve units of the project by their class type.RuntimeProjectUtil.findUnits
(IRuntimeProject prj, Class<T> c) Find all units of a project that are of the specified type.RuntimeProjectUtil.findUnitsByType
(IRuntimeProject prj, Class<T> c, boolean strict) Find all units of a project that are of the specified type.Methods in com.pnfsoftware.jeb.core that return IUnitModifier and TypeMethodDescriptionstatic IUnit
RuntimeProjectUtil.findUnitByUid
(IRuntimeProject prj, long uid) ILiveArtifact.getMainUnit()
Convenience method to retrieve the primary (first) unit resulting from the analysis of this artifact.IDynamicTargetPlugin.getPrimaryTarget()
Retrieve the primary target for this plugin.BookmarkManager.Bookmark.getUnit()
Methods in com.pnfsoftware.jeb.core that return types with arguments of type IUnitModifier and TypeMethodDescriptionRuntimeProjectUtil.filterUnits
(IRuntimeProject prj, IUnitFilter filter) Find the units in the project that pass a test provided by the user-defined filter object.RuntimeProjectUtil.getAllUnits
(IRuntimeProject prj) Retrieve a list of all units in the provided project.ILiveArtifact.getUnits()
Get the units that resulted from the analysis of the artifact within a given project.Methods in com.pnfsoftware.jeb.core with parameters of type IUnitModifier and TypeMethodDescriptiondefault boolean
Determine if the given unit passed the check.Implementors may choose to implementIUnitFilter.check2(IUnit)
instead, which offers more control on the filtering process.default int
Determine if the given unit passed the check.boolean
IRuntimeProject.destroyUnit
(IUnit unit) This method is used to destroy a unit living in this project.static List<IUnitContribution>
RuntimeProjectUtil.findUnitContributions
(IRuntimeProject prj, IUnit target) Retrieve a list of contributions (defined within a given project) for a target unit.Retrieve a bookmark.boolean
Determine if a provided unit is an intended target for this plugin.static void
JebCoreService.notifyExceptionToClient
(Throwable throwable, int flags, Map<String, Object> extradata, IUnit unit) Convenience method to "forward" (via an event) a throwable to the client for processing.static void
JebCoreService.notifySilentExceptionToClient
(Throwable throwable, IUnit unit) boolean
boolean
void
Add or update a bookmark.void
BookmarkManager.set
(IUnit unit, String address, String description, boolean doNotGenerateMetaComments) Add or update a bookmark.void
IDynamicTargetPlugin.setPrimaryTarget
(IUnit unit) Set the primary target for this plugin.Constructors in com.pnfsoftware.jeb.core with parameters of type IUnit -
Uses of IUnit in com.pnfsoftware.jeb.core.exceptions
Methods in com.pnfsoftware.jeb.core.exceptions that return IUnitMethods in com.pnfsoftware.jeb.core.exceptions with parameters of type IUnitModifier and TypeMethodDescriptionvoid
void
-
Uses of IUnit in com.pnfsoftware.jeb.core.output
Methods in com.pnfsoftware.jeb.core.output that return IUnit -
Uses of IUnit in com.pnfsoftware.jeb.core.output.text.impl
Methods in com.pnfsoftware.jeb.core.output.text.impl that return IUnitConstructors in com.pnfsoftware.jeb.core.output.text.impl with parameters of type IUnitModifierConstructorDescriptionHexDumpDocument
(IInput input, IUnit unit) Create a new hexdump document to represent the input binary data. -
Uses of IUnit in com.pnfsoftware.jeb.core.units
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.unitsModifier and TypeInterfaceDescriptioninterface
Addressable units allow the retrieval of unit objects via object identifiers and addresses.interface
Represent an archive Unit (zip, jar, tar, apk ...).interface
Methods in this interface are specific to units that take binary data (bytes) as input.interface
Unit type representing cryptography certificates such as X509.interface
Represent anIUnit
without processing, because there is somewhere a duplicate unit (exactly the same) in the current project.interface
Interactive units are addressable units that offer clients the ability to execute actions on their contents.interface
Represent a Json Unitinterface
INativeCodeUnit<InsnType extends IInstruction>
Specialized code unit that manages a native code processor and uses a virtual memory.interface
Units providing XML documents are encouraged to implement this interface.Classes in com.pnfsoftware.jeb.core.units that implement IUnitModifier and TypeClassDescriptionclass
This extension class provides basic implementations for methods specific to binary units.class
Skeleton of an interactive binary unit.class
Skeleton of an interactive unit.class
Skeleton implementation for anIUnit
.class
The fallback unit created if all parsers have failed at identifying some input data.Methods in com.pnfsoftware.jeb.core.units with type parameters of type IUnitModifier and TypeMethodDescriptionstatic <T extends IUnit>
Tstatic <T extends IUnit>
TUnitUtil.findChildByType
(IUnit base, Class<T> classtype, boolean exactClasstype, int index) UnitUtil.findChildren
(IUnit base, String name, Class<T> c, boolean strict) UnitUtil.findChildrenByType
(IUnit base, Class<T> classtype, boolean exactClasstype) UnitUtil.findDescendants
(ILiveArtifact base, int level, String name, Class<T> c, boolean strict) UnitUtil.findDescendants
(IUnit base, int maxDepth, String name, Class<T> classtype, boolean exactClasstype) Convenience function to find descendant units by type and/or name.UnitUtil.findDescendantsByFormatType
(IUnit base, int level, String formatType) UnitUtil.findDescendantsByType
(IUnit base, int maxDepth, Class<T> classtype, boolean exactClasstype) Retrieve a list of descendant units of the provided unit that are of the provided classtype (exact or derived) and do not exceeded the maximum depth.UnitUtil.findDescendantsByType
(IUnit base, Class<T> classtype, boolean exactClasstype) static <T extends IUnit>
TUnitUtil.findFirstChildByType
(IUnit base, Class<T> classtype, boolean exactClasstype) Methods in com.pnfsoftware.jeb.core.units that return IUnitModifier and TypeMethodDescriptionstatic IUnit
UnitUtil.findChildByFormatType
(IUnit base, String formatType, int index) static IUnit
UnitUtil.findChildByName
(IUnit base, String name, int index) static IUnit
UnitUtil.findFirstChildByFormatType
(IUnit base, String formatType) static IUnit
UnitUtil.findFirstChildByName
(IUnit base, String name) UnknownBinaryUnit.getKnownUnit()
IDuplicatedUnit.getOriginal()
The originalIUnit
which the current is the duplicate.default IUnit
IUnitIdentifier.prepare
(String name, IInput input, IUnitProcessor unitProcessor, IUnitCreator parent) Legacy method that does not provide identmap.default IUnit
IUnitIdentifier.prepare
(String name, IInput input, IUnitProcessor unitProcessor, IUnitCreator parent, Map<Object, Object> identmap) This method is used to produce a unit of the corresponding identifier type.IUnitProcessor.process
(String name, IInput input, IUnitCreator parent) Identify and process input data.IUnitProcessor.process
(String name, IInput input, IUnitCreator parent, String wantedType) Identify and process input data.IUnitProcessor.process
(String name, IInput input, IUnitCreator parent, String wantedType, boolean softDelegation) Identify and process input data.IUnitProcessor.process
(String name, IInput input, IUnitCreator parent, String wantedType, boolean softDelegation, boolean doNotProcessUnit) Identify and process input data.IUnitProcessor.process
(String name, IUnitCreator parent) Identify and process input data.static IUnit
Retrieve a unit rooted in the provided base, and whose relative path from that base consists of the provided path elements.static IUnit
UnitUtil.retrieveProcessed
(boolean processIfUnprocessed, IUnit base, String... pathElements) Retrieve a unit rooted in the provided base, and whose relative path from that base consists of the provided path elements.Methods in com.pnfsoftware.jeb.core.units that return types with arguments of type IUnitModifier and TypeMethodDescriptionUnitUtil.filterDescendants
(IUnit base, int maxDepth, IUnitFilter filter) Retrieve a list of descendants of the provided unit that pass the provided filter test and do not exceeded the maximum depth.UnitUtil.findChildrenByFormatType
(IUnit base, String formatType) UnitUtil.findChildrenByName
(IUnit base, String name) UnitUtil.findDescendantsByFormatType
(IUnit base, String formatType) UnitUtil.findDescendantsByName
(IUnit base, int maxDepth, String name) Retrieve a list of descendant units of the provided unit that have the provided name.UnitUtil.findDescendantsByName
(IUnit base, String name) AbstractUnit.getChildren()
Sub-classes overriding this method must override related methods consistently.IUnit.getChildren()
Retrieve a read-only list of all direct children units.UnitUtil.getUnitsFromPathList
(IRuntimeProject prj, List<String> path) Retrieve the targetsIUnit
from its path (built fromUnitUtil.buildFullyQualifiedUnitPathList(IUnitCreator, boolean)
for example).Methods in com.pnfsoftware.jeb.core.units with parameters of type IUnitModifier and TypeMethodDescriptionvoid
Sub-classes overriding this method must override related methods consistently.void
Sub-classes overriding this method must override related methods consistently.protected void
void
Register a child unit to this unit.void
Add a child unit to this unit.static String
UnitUtil.buildFullyQualifiedUnitPath
(IUnit unit) Build a unit path of the artifact name and its parent units, such as:artifact > unit > unit > ...
static String
UnitUtil.buildFullyQualifiedUnitPath
(IUnit unit, boolean includeArtifact, String separator) Build a fully-qualified unit path.IUnitProcessor.createDebugger
(String name, IUnit parent) Convenience method that processes a code unit to produce an associated debugger unit.IUnitProcessor.createDecompiler
(String name, IUnit parent) Convenience method that processes a code unit to produce an associated decompiler unit.UnitUtil.filterDescendants
(IUnit base, int maxDepth, IUnitFilter filter) Retrieve a list of descendants of the provided unit that pass the provided filter test and do not exceeded the maximum depth.static <T extends IUnitCreator>
TUnitUtil.findAncestor
(IUnit unit, Class<T> c, boolean strict) static <T extends IUnit>
Tstatic IUnit
UnitUtil.findChildByFormatType
(IUnit base, String formatType, int index) static IUnit
UnitUtil.findChildByName
(IUnit base, String name, int index) static <T extends IUnit>
TUnitUtil.findChildByType
(IUnit base, Class<T> classtype, boolean exactClasstype, int index) UnitUtil.findChildren
(IUnit base, String name, Class<T> c, boolean strict) UnitUtil.findChildrenByFormatType
(IUnit base, String formatType) UnitUtil.findChildrenByName
(IUnit base, String name) UnitUtil.findChildrenByType
(IUnit base, Class<T> classtype, boolean exactClasstype) UnitUtil.findDescendants
(IUnit base, int maxDepth, String name, Class<T> classtype, boolean exactClasstype) Convenience function to find descendant units by type and/or name.UnitUtil.findDescendantsByFormatType
(IUnit base, int level, String formatType) UnitUtil.findDescendantsByFormatType
(IUnit base, String formatType) UnitUtil.findDescendantsByName
(IUnit base, int maxDepth, String name) Retrieve a list of descendant units of the provided unit that have the provided name.UnitUtil.findDescendantsByName
(IUnit base, String name) UnitUtil.findDescendantsByType
(IUnit base, int maxDepth, Class<T> classtype, boolean exactClasstype) Retrieve a list of descendant units of the provided unit that are of the provided classtype (exact or derived) and do not exceeded the maximum depth.UnitUtil.findDescendantsByType
(IUnit base, Class<T> classtype, boolean exactClasstype) static IUnit
UnitUtil.findFirstChildByFormatType
(IUnit base, String formatType) static IUnit
UnitUtil.findFirstChildByName
(IUnit base, String name) static <T extends IUnit>
TUnitUtil.findFirstChildByType
(IUnit base, Class<T> classtype, boolean exactClasstype) static boolean
UnitUtil.isAncestorOf
(IUnit unit, IUnit expectedAncestor) static boolean
UnitUtil.isAncestorOf
(IUnit unit, IUnit expectedAncestor, boolean strictAncestor) boolean
IQuickStateObject.isTargetUnit
(IUnit unit) Determine if a unit is the target unit of this object, ie, if its state can be (partially) restored using this object.static boolean
UnitUtil.isTopLevelUnit
(IUnit unit) boolean
AbstractUnit.isTransientChild
(IUnit unit) Sub-classes overriding this method must override related methods consistently.boolean
IUnit.isTransientChild
(IUnit unit) Check if a child unit is transient.static void
UnitUtil.logError
(IUnit unit, String address, boolean recordNotification, ILogger logger, String format, Object... params) Log an error and optionally record a unit notification.static void
UnitUtil.logException
(IUnit unit, ILogger logger, Exception e) Log an exception and optionally record a unit notification.static void
Log an internal message.static void
UnitUtil.logInfo
(IUnit unit, String address, boolean recordNotification, ILogger logger, String format, Object... params) Log an informational message and optionally record a unit notification.static void
Log a trace message.static void
UnitUtil.logWarn
(IUnit unit, String address, boolean recordNotification, ILogger logger, String format, Object... params) Log a warning and optionally record a unit notification.static void
UnitUtil.notifyGenericChange
(IUnit unit) Issue a genericJ.UnitChange
event to all listeners of the provided unit.boolean
Reload (restore) the state of a unit using this object.final void
AbstractUnit.removeChild
(IUnit unit) Sub-classes overriding this method must override related methods consistently.protected void
AbstractUnit.removeChild
(IUnit unit, boolean notify) void
IUnit.removeChild
(IUnit unit) Remove a direct child of the current unit.static IUnit
Retrieve a unit rooted in the provided base, and whose relative path from that base consists of the provided path elements.static IUnit
UnitUtil.retrieveProcessed
(boolean processIfUnprocessed, IUnit base, String... pathElements) Retrieve a unit rooted in the provided base, and whose relative path from that base consists of the provided path elements.boolean
protected boolean
static String
UnitUtil.unitProperty
(IUnit unit, String propertyName) Generate a fully-qualified property name used by aunit
.Constructors in com.pnfsoftware.jeb.core.units with parameters of type IUnitModifierConstructorDescriptionAbstractInteractiveBinaryUnit
(String mimeType, IInput input, String formatType, String name, IUnit parent) AbstractInteractiveUnit
(String formatType, String name, IUnit parent) AbstractUnit
(String formatType, String name, IUnit parent) Build a new child from parentIUnit
-
Uses of IUnit in com.pnfsoftware.jeb.core.units.code
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.units.codeModifier and TypeInterfaceDescriptioninterface
Base interface for units representing disassembled binary code, such as bytecode, opcodes, object files, executable files, and so on.interface
Generic interface for decompilers.interface
This interface is used to represent source code abstract syntax trees (AST).Classes in com.pnfsoftware.jeb.core.units.code that implement IUnit -
Uses of IUnit in com.pnfsoftware.jeb.core.units.code.android
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.units.code.androidModifier and TypeInterfaceDescriptioninterface
Interface for units representing Android "application packages", aka APK files.interface
Specialized interface for Dalvik code debuggers.interface
Specialized interface representing Dex (Dalvik) decompiler Units.interface
Interface for units representing Android Dalvik bytecode containers, aka Dex files.interface
Definition of an "extended" APK unit, aka X-APK.Methods in com.pnfsoftware.jeb.core.units.code.android that return IUnitModifier and TypeMethodDescriptionIApkUnit.getAssets()
Convenience method to retrieve theAssets
folder unit (may not exist).IApkUnit.getLibraries()
Convenience method to retrieve theLibraries
folder unit (may not exist).IApkUnit.getResources()
Convenience method to retrieve theResources
folder unit (may not exist).IJniEndpoint.getUnit()
IUnit
bound to this endpoint.Methods in com.pnfsoftware.jeb.core.units.code.android with parameters of type IUnitModifier and TypeMethodDescriptionvoid
IDexDynamic.registerDynamicJni
(String javaMethodSignature, IUnit lib, long jniFunctionPointer) Register a new Dynamic Jni endpoint -
Uses of IUnit in com.pnfsoftware.jeb.core.units.code.asm
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.units.code.asmModifier and TypeInterfaceDescriptioninterface
Definition of native code debuggers. -
Uses of IUnit in com.pnfsoftware.jeb.core.units.code.asm.decompiler
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.units.code.asm.decompilerModifier and TypeInterfaceDescriptioninterface
INativeDecompilerUnit<InsnType extends IInstruction>
Top-level unit for native decompilers.interface
A specialized source unit representing the output of a native code decompiler. -
Uses of IUnit in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast that return IUnit -
Uses of IUnit in com.pnfsoftware.jeb.core.units.code.dart
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.units.code.dartModifier and TypeInterfaceDescriptioninterface
Top-level interface for JEB units representing parsed Dart AOT binaries. -
Uses of IUnit in com.pnfsoftware.jeb.core.units.code.debug
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.units.code.debugModifier and TypeInterfaceDescriptioninterface
Main Application Programming / Service Provider interface for JEB debugger units.Methods in com.pnfsoftware.jeb.core.units.code.debug that return IUnitModifier and TypeMethodDescriptionIDebuggerUnit.getTargetApplication()
Retrieve the optional target application. -
Uses of IUnit in com.pnfsoftware.jeb.core.units.code.java
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.units.code.javaModifier and TypeInterfaceDescriptioninterface
Definition of a source unit representing a Java class or Java method in the form of an Abstract Syntax Tree (AST).Methods in com.pnfsoftware.jeb.core.units.code.java that return IUnit -
Uses of IUnit in com.pnfsoftware.jeb.core.units.code.simatic
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.units.code.simatic -
Uses of IUnit in com.pnfsoftware.jeb.core.units.codeobject
Subinterfaces of IUnit in com.pnfsoftware.jeb.core.units.codeobjectModifier and TypeInterfaceDescriptioninterface
A common interface for object files that hold machine code such as ELF, PE, or Mach-O.interface
Specialized interface for ELF units.interface
Base interface for PE and COFF units.Classes in com.pnfsoftware.jeb.core.units.codeobject that implement IUnitModifier and TypeClassDescriptionclass
Convenient base class for code objects.Methods in com.pnfsoftware.jeb.core.units.codeobject that return IUnitModifier and TypeMethodDescriptionIELFUnit.getImageUnit()
Convenience method to retrieve the image held in this ELF container. -
Uses of IUnit in com.pnfsoftware.jeb.core.units.impl
Classes in com.pnfsoftware.jeb.core.units.impl with type parameters of type IUnitModifier and TypeClassDescriptionclass
WrapperUnit<T extends IUnit>
Simple wrapper (decorator) unit that delegates its job to the providedIUnit
.Classes in com.pnfsoftware.jeb.core.units.impl that implement IUnitModifier and TypeClassDescriptionclass
Simple wrapper (decorator) forIBinaryUnit
.class
Container units are non-binary units used to represent tree structures.class
Container units used to recursively process virtual folders and data blobs.class
Container units used to represent folders and files.class
Simple wrapper (decorator) forIInteractiveUnit
.class
A data container unit that fetches the data of its nodes only when necessary.class
WrapperUnit<T extends IUnit>
Simple wrapper (decorator) unit that delegates its job to the providedIUnit
.Fields in com.pnfsoftware.jeb.core.units.impl with type parameters of type IUnitMethods in com.pnfsoftware.jeb.core.units.impl that return types with arguments of type IUnitMethods in com.pnfsoftware.jeb.core.units.impl with parameters of type IUnitModifier and TypeMethodDescriptionvoid
void
boolean
WrapperUnit.isTransientChild
(IUnit unit) static void
DataContainerUnit.register
(IUnit caller, Collection<DataContainerUnit.Entry> entries) static void
DataContainerUnit.register
(IUnit caller, Collection<DataContainerUnit.Entry> entries, boolean processLeaves) static void
LazyDataContainerUnit.register
(IUnit caller, Collection<LazyDataContainerUnit.Entry> entries) void
WrapperUnit.removeChild
(IUnit unit) -
Uses of IUnit in com.pnfsoftware.jeb.core.util
Methods in com.pnfsoftware.jeb.core.util with parameters of type IUnitModifier and TypeMethodDescriptionstatic IDebuggerUnit
DebuggerHelper.getDebugger
(IUnit unit) Retrieve or create a debugger for the provided code unit.static IDebuggerUnit
DebuggerHelper.getDebugger
(IUnit unit, boolean createIfNotExist) Retrieve a debugger for the provided code unit.static IDecompilerUnit
DecompilerHelper.getDecompiler
(IUnit unit) Retrieve or create a decompiler for the current unit.static IDecompilerUnit
DecompilerHelper.getDecompiler
(IUnit unit, boolean createIfNotExist) Retrieve a decompiler for the current unit.static ICodeUnit
DecompilerHelper.getRelatedCodeUnit
(IUnit unit) Retrieve the existing code unit for the provided decompiler or source unit.static IDecompilerUnit
DecompilerHelper.getRelatedDecompiler
(IUnit unit) Retrieve an existing decompiler for the current code unit or the decompiler that produced the provided source unit.