Class AbstractNativeDecompilerPlugin<InsnType extends IInstruction>

Type Parameters:
InsnType - instruction type handled by the decompiler plugin
All Implemented Interfaces:
IPlugin, INativeDecompilerPlugin<InsnType>, INativePlugin<InsnType>, IUnitPlugin

public abstract class AbstractNativeDecompilerPlugin<InsnType extends IInstruction> extends AbstractNativePlugin<InsnType> implements INativeDecompilerPlugin<InsnType>
Base implementation of an INativeDecompilerPlugin. Decompiler plugins should extend this class.
  • Field Details

    • propnameMethodDecompilationTimeout

      public static final String propnameMethodDecompilationTimeout
      Property name for the per-method decompilation timeout.
      See Also:
    • propnameMemoryResolutionPolicy

      public static final String propnameMemoryResolutionPolicy
      Property name for the memory resolution policy.
      See Also:
    • propnameReconversionMaxCount

      public static final String propnameReconversionMaxCount
      Property name for the maximum reconversion count.
      See Also:
    • propnameIROptimizerMaxRunCount

      public static final String propnameIROptimizerMaxRunCount
      Property name for the IR optimizer maximum run count.
      See Also:
    • propnameEnableUnsafeOptimizers

      public static final String propnameEnableUnsafeOptimizers
      Property name for enabling unsafe optimizers.
      See Also:
    • propnameDecryptorSupport

      public static final String propnameDecryptorSupport
      Property name for decryptor support.
      See Also:
    • propnameEnableDeobfuscators

      public static final String propnameEnableDeobfuscators
      Property name for enabling deobfuscators.
      See Also:
    • propnameASTOptimizerMaxRunCount

      public static final String propnameASTOptimizerMaxRunCount
      Property name for the AST optimizer maximum run count.
      See Also:
    • propnameStructurerUseVersion

      public static final String propnameStructurerUseVersion
      Property name for selecting the structurer implementation version.
      See Also:
    • propnameUseFriendlyVariableNames

      public static final String propnameUseFriendlyVariableNames
      Property name for using friendly variable names.
      See Also:
    • propnameUseWellKnownLiterals

      public static final String propnameUseWellKnownLiterals
      Property name for using well-known literal names.
      See Also:
    • propnameNextDecompKeepIR

      public static final String propnameNextDecompKeepIR
      Property name for keeping the next decompilation IR.
      See Also:
    • propnameEnableExternalPlugins

      public static final String propnameEnableExternalPlugins
      Property name for enabling external plugins.
      See Also:
    • propnameListOfDisabledExternalPlugins

      public static final String propnameListOfDisabledExternalPlugins
      Property name for the list of disabled external plugins.
      See Also:
  • Constructor Details

    • AbstractNativeDecompilerPlugin

      public AbstractNativeDecompilerPlugin(String type, double priority)
      Create a native decompiler plugin.
      Parameters:
      type - plugin type identifier
      priority - plugin priority
  • Method Details