public interface

IDMasterOptimizer

com.pnfsoftware.jeb.core.units.code.android.ir.IDMasterOptimizer

Class Overview

A manager of IR optimizers. A master optimizer (MO) orchestrates and executes optimizers. This class is currently not meant to be implemented by third-party code. To create a master optimizer,

Most IR optimizers will not need to create and use MOs on their own. However, some multi-stage advanced optimizers may need intermediate code clean-up before proceeding to a later phase. In such cases, using an MO may be necessary.

Implementation note: the master optimizer may call optimizers repeatedly until no more optimizations are performed.

Summary

Public Methods
abstract boolean add(IDOptimizer optimizer)
Register an optimizer.
abstract IDMethodContext getTarget()
Retrieve the IR method context to be optimized.
abstract boolean isEnableDeobfuscators()
Determine whether deobfuscator optimizers will be run by this orchestrator.
abstract int perform()
Perform optimizations on the target.
abstract boolean remove(IDOptimizer optimizer)
Unregister an optimizer.
abstract void setEnableDeobfuscators(boolean enabled)
Enable or disable obfuscator optimizers.

Public Methods

public abstract boolean add (IDOptimizer optimizer)

Register an optimizer.

public abstract IDMethodContext getTarget ()

Retrieve the IR method context to be optimized.

public abstract boolean isEnableDeobfuscators ()

Determine whether deobfuscator optimizers will be run by this orchestrator. All optimizers whose type is not NORMAL are treated as deobfuscators.

public abstract int perform ()

Perform optimizations on the target.

Returns
  • the number of optimizations performed

public abstract boolean remove (IDOptimizer optimizer)

Unregister an optimizer.

public abstract void setEnableDeobfuscators (boolean enabled)

Enable or disable obfuscator optimizers. All optimizers whose type is not NORMAL are treated as deobfuscators.