public abstract class

AbstractNativeDisassemblerPlugin

extends AbstractNativePlugin<InsnType extends IInstruction>
implements INativeDisassemblerPlugin<InsnType extends IInstruction>
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.AbstractPlugin
     ↳ com.pnfsoftware.jeb.core.units.AbstractUnitPlugin
       ↳ com.pnfsoftware.jeb.core.units.code.asm.AbstractNativePlugin<InsnType extends com.pnfsoftware.jeb.core.units.code.IInstruction>
         ↳ com.pnfsoftware.jeb.core.units.code.asm.AbstractNativeDisassemblerPlugin<InsnType extends com.pnfsoftware.jeb.core.units.code.IInstruction>

Class Overview

Base implementation of a INativeDisassemblerPlugin. Disassembler plugins shoul extend this class.

Summary

Constants
String propnameAllowAdvancedAnalysis
String propnameAnalysisStyle
String propnameApplyAndroidNativePrototypes
String propnameCallingConvention
String propnameCompilerIdentification
String propnameCreatePackagesFromRoutineNames
String propnameDebugInformationRetrievalPolicy
String propnameDebugInformationUsagePolicy
String propnameDelayAnalysis
String propnameEndianness
String propnameForceSynchronousAnalysis
String propnameImageBase
String propnameLoadTypelibrariesCodelessSigs
String propnamePerformClassRecovery
String propnamePerformFakeRoutineCallAnalysis
String propnamePerformGlobalAnalysis
String propnamePerformRttiRecovery
String propnamePreferHexAddresses
String propnameRelocationBaseForZeroBasedRelocatableObjects
String propnameSignaturePackagesLoading
String propnameSwitchAnalysisStyle
String propnameTailCallAnalysisStyle
String propnameUseTypeLibraries
[Expand]
Inherited Fields
From class com.pnfsoftware.jeb.core.units.AbstractUnitPlugin
Public Constructors
AbstractNativeDisassemblerPlugin(String type, double priority)
Public Methods
boolean canBeProcessedOutsideCodeObject()
The default implementation returns true: native assemblies or assemblies treated as native can be processed outside of a container file (aka, a code object, such as a PE or ELF file0.
boolean canProcessELF(int machineId, boolean isELF64)
The default implementation returns false.
boolean canProcessPE(int machineId, boolean isPE64)
The default implementation returns false.
ICallingConvention getCallingConvention(IUnitCreator parent)
The default implementation returns null.
List<ProcessorType> getProcessorTypes()
The default implementation returns an empty collection.
String toString()
[Expand]
Inherited Methods
From class com.pnfsoftware.jeb.core.units.code.asm.AbstractNativePlugin
From class com.pnfsoftware.jeb.core.units.AbstractUnitPlugin
From class com.pnfsoftware.jeb.core.AbstractPlugin
From class java.lang.Object
From interface com.pnfsoftware.jeb.core.IPlugin
From interface com.pnfsoftware.jeb.core.units.IUnitPlugin
From interface com.pnfsoftware.jeb.core.units.code.asm.INativeDisassemblerPlugin
From interface com.pnfsoftware.jeb.core.units.code.asm.INativePlugin

Constants

public static final String propnameAllowAdvancedAnalysis

Constant Value: "AdvancedAnalysis"

public static final String propnameAnalysisStyle

Constant Value: "AnalysisStyle"

public static final String propnameApplyAndroidNativePrototypes

Constant Value: "ApplyAndroidNativePrototypes"

public static final String propnameCallingConvention

Constant Value: "CallingConvention"

public static final String propnameCompilerIdentification

Constant Value: "CompilerIdentification"

public static final String propnameCreatePackagesFromRoutineNames

Constant Value: "CreatePackagesFromRoutineNames"

public static final String propnameDebugInformationRetrievalPolicy

Constant Value: "DebugInformationRetrievalPolicy"

public static final String propnameDebugInformationUsagePolicy

Constant Value: "DebugInformationUsagePolicy"

public static final String propnameDelayAnalysis

Constant Value: "DelayAnalysis"

public static final String propnameEndianness

Constant Value: "Endianness"

public static final String propnameForceSynchronousAnalysis

Constant Value: "ForceSynchronousAnalysis"

public static final String propnameImageBase

Constant Value: "ImageBase"

public static final String propnameLoadTypelibrariesCodelessSigs

Constant Value: "LoadTypeLibrariesCodelessSigs"

public static final String propnamePerformClassRecovery

Constant Value: "PerformClassRecovery"

public static final String propnamePerformFakeRoutineCallAnalysis

Constant Value: "PerformFakeRoutineCallAnalysis"

public static final String propnamePerformGlobalAnalysis

Constant Value: "PerformGlobalAnalysis"

public static final String propnamePerformRttiRecovery

Constant Value: "PerformRttiRecovery"

public static final String propnamePreferHexAddresses

Constant Value: "PreferHexAddresses"

public static final String propnameRelocationBaseForZeroBasedRelocatableObjects

Constant Value: "RelocationBaseForZeroBasedRelocatableObjects"

public static final String propnameSignaturePackagesLoading

Constant Value: "SignaturePackagesLoading"

public static final String propnameSwitchAnalysisStyle

Constant Value: "SwitchAnalysisStyle"

public static final String propnameTailCallAnalysisStyle

Constant Value: "TailCallAnalysisStyle"

public static final String propnameUseTypeLibraries

Constant Value: "UseTypeLibraries"

Public Constructors

public AbstractNativeDisassemblerPlugin (String type, double priority)

Public Methods

public boolean canBeProcessedOutsideCodeObject ()

The default implementation returns true: native assemblies or assemblies treated as native can be processed outside of a container file (aka, a code object, such as a PE or ELF file0.

public boolean canProcessELF (int machineId, boolean isELF64)

The default implementation returns false.

public boolean canProcessPE (int machineId, boolean isPE64)

The default implementation returns false.

public ICallingConvention getCallingConvention (IUnitCreator parent)

The default implementation returns null. JEB will attempt to determine the calling convention on its own.

public List<ProcessorType> getProcessorTypes ()

The default implementation returns an empty collection.

Returns
  • a list, possibly empty

public String toString ()