Types used to implement and access data identifiers, parsers, code analyzers, disassemblers, decompilers, and debuggers.


IAddressableUnit Addressable units allow the retrieval of unit objects via object identifiers and addresses. 
IArchiveUnit Represent an archive Unit (zip, jar, tar, apk ...). 
IBinaryFrames Binary frames are used to serialize list of byte arrays into a single byte array. 
IBinaryUnit Methods in this interface are specific to units that take binary data (bytes) as input. 
ICertificateUnit Unit type representing cryptography certificates such as X509. 
IDuplicatedUnit Represent an IUnit without processing, because there is somewhere a duplicate unit (exactly the same) in the current project. 
IInteractiveUnit Interactive units are addressable units that offer clients the ability to execute actions on their contents. 
IJsonUnit Represent a Json Unit 
IMetadataGroup Definition of a group of metadata objects. 
IMetadataManager Definition of a metadata manager. 
INativeCodeUnit<InsnType extends IInstruction> Specialized code unit that manages a native code processor and uses a virtual memory. 
IPriorityBasedHooks An super interface to be used for hooks interfaces for which the associated manager respects a priority ordering. 
IQuickStateObject Quick state objects represent the state of a unit. 
IUnit Base interface for units
IUnitIdentifier Unit identifiers are one of the two types of plugins supported by JEB engines. 
IUnitInterpreter A unit interpreter plugin. 
IUnitLock Definition of a unit model lock. 
IUnitNotification Description of a unit notification. 
IUnitNotificationManager A manager of unit notifications
IUnitPlugin Definition of a unit plugin. 
IUnitProcessor A unit processor is a parser that uses registered JEB plugins to identify and process input data into IUnits. 
IUnitProvider This interface allows the definition of common features that are designed to be extended on a new or wrapped unit. 
IUnknownInputResolver Define a resolution system for input that could not be identified. 
IXmlUnit Units providing XML documents are encouraged to implement this interface. 


AbstractBinaryUnit This extension class provides basic implementations for methods specific to binary units. 
AbstractInteractiveBinaryUnit Skeleton of an interactive binary unit. 
AbstractInteractiveUnit Skeleton of an interactive unit. 
AbstractMetadataGroup Skeleton of metadata group. 
AbstractUnit Skeleton implementation for an IUnit
AbstractUnitIdentifier Skeleton implementation for an IUnitIdentifier class (aka, a Parser). 
AbstractUnitPlugin Skeleton implementation. 
AddressPrefixMetadataGroup A metadata group which filters by address prefix. 
MetadataGroup A simple implementation of a metadata group. 
MetadataManager A simple implementation of a metadata manager. 
PassthroughUnitLock Singleton, immutable unit lock implementation that locks nothing. 
Pool<T extends PoolEntry> A collection of entries that can be used by parsers to represent pools. 
PoolEntry A numbered entry in a pool. 
UnitAddress<T extends IAddressableUnit> A couple (target unit, address), where the address is relative to the target unit. 
UnitChangeEventData Specific data related to a UnitChange change event issued by a unit. 
UnitNotification Standard implementation of a notification. 
UnitNotificationManager Standard implementation of a notification manager. 
UnitUtil Utility methods for units
UnknownBinaryUnit The fallback unit created if all parsers have failed at identifying some input data. 
WellKnownUnitTypes Well-known binary types for unit identifiers


MetadataGroupType A list of metadata group types. 
NotificationType Notification types reported by units


UnitLockedException A concurrency error raised when a thread is attempting to access a unit that is locked by another thread.