public interface

IDexUnit

implements ICodeUnit
com.pnfsoftware.jeb.core.units.code.android.IDexUnit

Class Overview

Interface for units representing Android Dalvik bytecode containers, aka DEX files. Units representing DEX bytecode are not obliged to implement this interface.

JEB's internal DEX parser produces units which do implement this interface.

Summary

Constants
int ACC_ABSTRACT
int ACC_ANNOTATION
int ACC_BRIDGE
int ACC_CONSTRUCTOR
int ACC_DECLARED_SYNCHRONIZED
int ACC_ENUM
int ACC_FINAL
int ACC_INTERFACE
int ACC_NATIVE
int ACC_PRIVATE
int ACC_PROTECTED
int ACC_PUBLIC
int ACC_STATIC
int ACC_STRICT
int ACC_SYNCHRONIZED
int ACC_SYNTHETIC
int ACC_TRANSIENT
int ACC_VARARGS
int ACC_VOLATILE
Public Methods
abstract IDexField addField(String signature)
Create a new field and add it to the field pool index.
abstract IDexMethod addMethod(String signature)
Create a new method reference and add it to the method pool index.
abstract IDexPrototype addPrototype(String prototypeString)
Create a new DEX prototype and add it to the prototype pool index.
abstract IDexString addString(String value)
Create a new string and add it to the string pool index.
abstract IDexType addType(String typeString)
Create a new type and add it to the type pool index.
abstract IDexClass getClass(String fqname)
Convenience method used to retrieve a class by name.
abstract IDexClass getClass(int index)
Convenience method to retrieve a class by its DEX class pool index.
abstract List<? extends IDexClass> getClasses()
Get the DEX class pool
abstract IDexField getField(String fqname)
Convenience method used to retrieve a field by name.
abstract IDexField getField(int index)
Convenience method to retrieve a field by its DEX field pool index.
abstract List<? extends IDexField> getFields()
Get the DEX field pool
abstract IDexMethod getMethod(int index)
Convenience method to retrieve a method by its DEX method pool index.
abstract IDexMethod getMethod(String fqname)
Convenience method used to retrieve a method by name.
abstract List<? extends IDexMethod> getMethods()
Get the DEX method pool
abstract IDexPrototype getPrototype(int index)
Convenience method to retrieve a prototype by its DEX prototype pool index.
abstract List<? extends IDexPrototype> getPrototypes()
Get the list of DEX prototypes defined in the DEX file (prototype pool).
abstract IDexString getString(int index)
Convenience method to retrieve a string by its DEX string pool index.
abstract List<? extends IDexString> getStrings()
Get the DEX string pool, including extra strings added via addString.
abstract IDexType getType(int index)
Convenience method to retrieve a type by its DEX type pool index.
abstract List<? extends IDexType> getTypes()
Get the DEX prototype pool
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.IInteractiveUnit
From interface com.pnfsoftware.jeb.core.units.IUnit
From interface com.pnfsoftware.jeb.core.units.code.ICodeUnit
From interface com.pnfsoftware.jeb.util.events.IEventSource

Constants

public static final int ACC_ABSTRACT

Constant Value: 1024 (0x00000400)

public static final int ACC_ANNOTATION

Constant Value: 8192 (0x00002000)

public static final int ACC_BRIDGE

Constant Value: 64 (0x00000040)

public static final int ACC_CONSTRUCTOR

Constant Value: 65536 (0x00010000)

public static final int ACC_DECLARED_SYNCHRONIZED

Constant Value: 131072 (0x00020000)

public static final int ACC_ENUM

Constant Value: 16384 (0x00004000)

public static final int ACC_FINAL

Constant Value: 16 (0x00000010)

public static final int ACC_INTERFACE

Constant Value: 512 (0x00000200)

public static final int ACC_NATIVE

Constant Value: 256 (0x00000100)

public static final int ACC_PRIVATE

Constant Value: 2 (0x00000002)

public static final int ACC_PROTECTED

Constant Value: 4 (0x00000004)

public static final int ACC_PUBLIC

Constant Value: 1 (0x00000001)

public static final int ACC_STATIC

Constant Value: 8 (0x00000008)

public static final int ACC_STRICT

Constant Value: 2048 (0x00000800)

public static final int ACC_SYNCHRONIZED

Constant Value: 32 (0x00000020)

public static final int ACC_SYNTHETIC

Constant Value: 4096 (0x00001000)

public static final int ACC_TRANSIENT

Constant Value: 128 (0x00000080)

public static final int ACC_VARARGS

Constant Value: 128 (0x00000080)

public static final int ACC_VOLATILE

Constant Value: 64 (0x00000040)

Public Methods

public abstract IDexField addField (String signature)

Create a new field and add it to the field pool index.

public abstract IDexMethod addMethod (String signature)

Create a new method reference and add it to the method pool index.

public abstract IDexPrototype addPrototype (String prototypeString)

Create a new DEX prototype and add it to the prototype pool index.

Parameters
prototypeString a full prototype string, such as: (typeParam1,typeParam2,...)typeReturn

public abstract IDexString addString (String value)

Create a new string and add it to the string pool index.

public abstract IDexType addType (String typeString)

Create a new type and add it to the type pool index.

Parameters
typeString a fully-qualified type name, using the standard Java internal signature notation (L...;)

public abstract IDexClass getClass (String fqname)

Convenience method used to retrieve a class by name.

public abstract IDexClass getClass (int index)

Convenience method to retrieve a class by its DEX class pool index.

public abstract List<? extends IDexClass> getClasses ()

Get the DEX class pool

public abstract IDexField getField (String fqname)

Convenience method used to retrieve a field by name.

public abstract IDexField getField (int index)

Convenience method to retrieve a field by its DEX field pool index.

public abstract List<? extends IDexField> getFields ()

Get the DEX field pool

public abstract IDexMethod getMethod (int index)

Convenience method to retrieve a method by its DEX method pool index.

public abstract IDexMethod getMethod (String fqname)

Convenience method used to retrieve a method by name.

public abstract List<? extends IDexMethod> getMethods ()

Get the DEX method pool

public abstract IDexPrototype getPrototype (int index)

Convenience method to retrieve a prototype by its DEX prototype pool index.

Parameters
index prototype index

public abstract List<? extends IDexPrototype> getPrototypes ()

Get the list of DEX prototypes defined in the DEX file (prototype pool).

Returns
  • a list of prototypes

public abstract IDexString getString (int index)

Convenience method to retrieve a string by its DEX string pool index.

public abstract List<? extends IDexString> getStrings ()

Get the DEX string pool, including extra strings added via addString.

public abstract IDexType getType (int index)

Convenience method to retrieve a type by its DEX type pool index.

public abstract List<? extends IDexType> getTypes ()

Get the DEX prototype pool