com.pnfsoftware.jeb.core.units.code.android.IDexDecompilerUnit |
Specialized interface representing Dex (Dalvik) decompiler Units.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | propnameEmulatorConfigPath |
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
com.pnfsoftware.jeb.core.units.code.IDecompilerUnit
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract void | addSpecialComment(String address, String value) | ||||||||||
abstract void | clearSpecialComments(String address) | ||||||||||
abstract IEmulatedAndroid |
createEmulatedAndroid()
Create a limited environment to emulate dex code and native code.
| ||||||||||
abstract IGenericUnpacker |
createGenericUnpacker()
Create a generic unpacker, backed by an
emulated-android object,
that can be used to attempt to retrieve resources unpacked at runtime. | ||||||||||
abstract IJavaClass |
getClass(String csig, boolean createIfNotExist)
Retrieve a previously decompiled AST class object or create an empty AST class element.
| ||||||||||
abstract IDexUnit |
getCodeUnit()
Get the code unit (possibly the parent, possibly null) that is providing the low-level data
to this decompiler.
| ||||||||||
abstract IDynamicContentManager |
getDynamicContentManager()
Retrieve a DCR used during AST generation.
| ||||||||||
abstract IJavaField |
getField(String fsig, boolean createIfNotExist)
Retrieve a previously decompiled AST field object or create an empty AST field element.
| ||||||||||
abstract Collection<DexDecompilerEvent<?>> |
getGlobalDecompilationEvents()
Retrieve the list decompilation events, without duplicates.
| ||||||||||
abstract Collection<DexDecompilerEvent<?>> |
getGlobalDecompilationEvents(boolean keepDuplicates)
Retrieve a copy of the decompilation events.
| ||||||||||
abstract IJavaGlobalContext |
getHighLevelContext()
Retrieve the global AST context.
| ||||||||||
abstract String |
getIdentifierName(IJavaIdentifier ident)
Retrieve the effective (renamed) name of an identifier in this method's AST.
| ||||||||||
abstract IDGlobalContext |
getIntermediateContext()
Retrieve the global IR context.
| ||||||||||
abstract IJavaMethod |
getMethod(String msig, boolean createIfNotExist)
Retrieve a previously decompiled AST method object or create an empty AST method element.
| ||||||||||
abstract void | recordDecompilationEvent(DexDecompilerEvent<?> event) | ||||||||||
abstract void |
registerEventQueue(DexDecompilerEventQueue queue)
Register a user-controlled event queue that will receive decompilation events.
| ||||||||||
abstract boolean |
resetClassElement(IJavaClass c)
Remove an AST class object.
| ||||||||||
abstract void |
resetDecompilation(String identifier)
Remove a decompiled object (i.e., same as
removeDecompilation(String) .) For a dex
decompiler, reset and removal actions are equivalent. | ||||||||||
abstract boolean |
resetFieldElement(IJavaField f)
Remove an AST field object.
| ||||||||||
abstract void |
resetGlobalDecompilationEvents()
Reset the global decompilation events list.
| ||||||||||
abstract boolean |
resetMethodElement(IJavaMethod m)
Remove an AST method object.
| ||||||||||
abstract boolean |
setIdentifierName(IJavaIdentifier ident, String name)
Rename an identifier.
| ||||||||||
abstract boolean |
setIdentifierName(IJavaIdentifier ident, String name, boolean failOnNameConflict, boolean notify)
Rename an identifier.
| ||||||||||
abstract void |
unregisterEventQueue(DexDecompilerEventQueue queue)
Unregister a previously registered user-controlled decompilation event queue.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
com.pnfsoftware.jeb.core.IUnitCreator
| |||||||||||
From interface
com.pnfsoftware.jeb.core.IUserDataSupport
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.IAddressableUnit
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.IInteractiveUnit
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.IUnit
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.code.IDecompilerUnit
| |||||||||||
From interface
com.pnfsoftware.jeb.util.events.IEventSource
|
Create a limited environment to emulate dex code and native code. Currently, the emulated environment is a simple Arm 64-bit (aarch64) Android 13 system (API level 33). This dex decompiler must be the descendant of an APK unit.
Create a generic unpacker, backed by an emulated-android
object,
that can be used to attempt to retrieve resources unpacked at runtime. This dex decompiler
must be the descendant of an APK unit.
Retrieve a previously decompiled AST class object or create an empty AST class element.
Get the code unit (possibly the parent, possibly null) that is providing the low-level data to this decompiler.
Retrieve a DCR used during AST generation.
Retrieve a previously decompiled AST field object or create an empty AST field element.
Retrieve the list decompilation events, without duplicates. Note that this queue is managed
separately than user-controlled event
queues
.
Retrieve a copy of the decompilation events. Note that this queue is managed separately than
user-controlled event queues
.
keepDuplicates | if true, duplicate events will be present in the returned collection |
---|
Retrieve the effective (renamed) name of an identifier in this method's AST.
Retrieve a previously decompiled AST method object or create an empty AST method element.
Register a user-controlled event queue that will receive decompilation events.
Remove a decompiled object (i.e., same as removeDecompilation(String)
.) For a dex
decompiler, reset and removal actions are equivalent.
Reset the global decompilation events list. This operation is not reversible.
Rename an identifier.
Rename an identifier.
Unregister a previously registered user-controlled decompilation event queue.