| com.pnfsoftware.jeb.core.units.code.android.ir.IDEmulatorHooks |
An interface for user-defined hooks called by dexdec's IR emulator when executing
internal (in DEX) code.
Tutorial on how to use emulator hooks: in the JEB coreplugins/scripts/ folder, refer to
DOptEmuHooksExample.py.DISABLED for an example in Python,
DOptEmuHooksGlobalExample.java.DISABLED for an example in Java (remove the .DISABLED
extension to enable the plugin).
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| abstract Wrapper<IDImm> |
examineMethodResult(long reqid, IDImm result)
This method is called after the emulator successfully executed the IR of an internal dex
method.
| ||||||||||
| abstract Wrapper<IDImm> |
invokeMethod(long reqid, String msig, List<IDImm> args)
This method is called when the emulator is about to execute the IR of an internal dex method.
| ||||||||||
| abstract Boolean |
setField(long reqid, String fsig, IDImm obj, IDImm[] avalue)
This method is called when the emulator is about to set an internal field's value.
| ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From interface
com.pnfsoftware.jeb.core.units.IPriorityBasedHooks
| |||||||||||
This method is called after the emulator successfully executed the IR of an internal dex method.
| reqid | internal request id (matching the id provided to a previous call to
invokeMethod) |
|---|---|
| result | the execution result, which may be modified |
This method is called when the emulator is about to execute the IR of an internal dex method.
| reqid | internal request id |
|---|---|
| msig | target method to be executed |
| args | the evaluated arguments (careful, the first entry is the object's `this` iff the target method is not static) |
This method is called when the emulator is about to set an internal field's value.
| reqid | internal request id |
|---|---|
| fsig | field signature |
| obj | field object, null if static |
| avalue | a one-element array containing the value to be set (this is an input/output array; if this method returns false, the value located in the array will be used by the sandbox to set the field) |