public interface

IEmulatedAndroid

com.pnfsoftware.jeb.core.units.code.android.IEmulatedAndroid

Class Overview

Interface for a simple Android OS environment.

Summary

Public Methods
abstract int getAndroidApiLevel()
Retrieve the emulated Android SDK API level.
abstract AndroidPlatformABI getAndroidPlatformABI()
Retrieve the emulated Android architecture.
abstract int getAndroidVersion()
Retrieve the emulated Android version.
abstract IApkUnit getApk()
Convenience method.
abstract String getApkPath()
Retrieve the APK path on the emulated device.
abstract String getAppDataFolder()
Retrieve the app's data folder for the current user on the emulated device.
abstract String getAppFolder()
Retrieve the application folder on the emulated device.
abstract IDexDecompilerUnit getDecompiler()
Convenience method.
abstract IDexUnit getDex()
Convenience method.
abstract File getDropboxFolder()
abstract Object getInternalInfo()
Internal routine.
abstract Properties getJavaProperties()
Retrieve the Java properties object of the emulated app.
abstract File getLocalApkFile()
Convenience method to retrieve the path to the local APK file (in the JEB project).
abstract String getMainActivity()
Convenience method.
abstract String getPackageName()
Convenience method.
abstract IDState getState()
Retrieve the dexdec emulator state attached to this object.
abstract Map<String, String> getSystemProperties()
Retrieve the system properties of the emulated process.
abstract IDImm invokeMethod(DInvokeType invoketype, String msig, List<IDExpression> args)
Convenience method wrapping around the dex emulator to emulate a method.

Public Methods

public abstract int getAndroidApiLevel ()

Retrieve the emulated Android SDK API level.

Returns
  • the standard implementation currently returns 33

public abstract AndroidPlatformABI getAndroidPlatformABI ()

Retrieve the emulated Android architecture.

Returns
  • the standard implementation currently returns aarch64

public abstract int getAndroidVersion ()

Retrieve the emulated Android version.

Returns
  • the standard implementation currently returns 13

public abstract IApkUnit getApk ()

Convenience method.

public abstract String getApkPath ()

Retrieve the APK path on the emulated device.

public abstract String getAppDataFolder ()

Retrieve the app's data folder for the current user on the emulated device.

public abstract String getAppFolder ()

Retrieve the application folder on the emulated device.

public abstract IDexDecompilerUnit getDecompiler ()

Convenience method.

public abstract IDexUnit getDex ()

Convenience method.

public abstract File getDropboxFolder ()

public abstract Object getInternalInfo ()

Internal routine. Do not use.

Returns
  • an opaque object

public abstract Properties getJavaProperties ()

Retrieve the Java properties object of the emulated app.

public abstract File getLocalApkFile ()

Convenience method to retrieve the path to the local APK file (in the JEB project).

public abstract String getMainActivity ()

Convenience method.

Returns
  • the app's main activity class internal signature (e.g. Lcom/myapp/MainActivity;, or null if there is no main activity

public abstract String getPackageName ()

Convenience method.

Returns
  • the app's package name (e.g. com.myapp)

public abstract IDState getState ()

Retrieve the dexdec emulator state attached to this object. The emulator state is an entry-point into dex emulation facility as well as native code emulation.

public abstract Map<String, String> getSystemProperties ()

Retrieve the system properties of the emulated process.

public abstract IDImm invokeMethod (DInvokeType invoketype, String msig, List<IDExpression> args)

Convenience method wrapping around the dex emulator to emulate a method.

Parameters
invoketype method type
msig full method signature
args method arguments (the first one must be the object if the method is non-static)
Returns
  • the returned value