Class AbstractNativeDisassemblerPlugin<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>
com.pnfsoftware.jeb.core.units.code.asm.AbstractNativeDisassemblerPlugin<InsnType>
- Type Parameters:
InsnType
-
- All Implemented Interfaces:
IPlugin
,INativeDisassemblerPlugin<InsnType>
,INativePlugin<InsnType>
,IUnitPlugin
public abstract class AbstractNativeDisassemblerPlugin<InsnType extends IInstruction>
extends AbstractNativePlugin<InsnType>
implements INativeDisassemblerPlugin<InsnType>
Base implementation of a
INativeDisassemblerPlugin
. Disassembler plugins shoul extend
this class.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
Fields inherited from class com.pnfsoftware.jeb.core.units.AbstractUnitPlugin
pdm, pm, priority, type
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
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.getCallingConvention
(IUnitCreator parent) The default implementation returns null.The default implementation returns an empty collection.toString()
Methods inherited from class com.pnfsoftware.jeb.core.units.code.asm.AbstractNativePlugin
setupCustomProperties
Methods inherited from class com.pnfsoftware.jeb.core.units.AbstractUnitPlugin
getFormatType, getPriority, getPropertyDefinitionManager, getTypeIdProvider, initialize
Methods inherited from class com.pnfsoftware.jeb.core.AbstractPlugin
dispose, getData, setData
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.INativeDisassemblerPlugin
getAnalyzerExtension, getCodeFormatter, getMemory, getProcessor
Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.INativePlugin
setupCustomProperties
Methods inherited from interface com.pnfsoftware.jeb.core.IPlugin
dispose, getData, getPluginInformation, setData
Methods inherited from interface com.pnfsoftware.jeb.core.units.IUnitPlugin
getFormatType, getPriority, getPropertyDefinitionManager, getTypeIdProvider, initialize
-
Field Details
-
propnameEndianness
- See Also:
-
propnameImageBase
- See Also:
-
propnameRelocationBaseForZeroBasedRelocatableObjects
- See Also:
-
propnameCallingConvention
- See Also:
-
propnameDelayAnalysis
- See Also:
-
propnameAllowAdvancedAnalysis
- See Also:
-
propnameForceSynchronousAnalysis
- See Also:
-
propnameAnalysisStyle
- See Also:
-
propnamePerformClassRecovery
- See Also:
-
propnamePerformRttiRecovery
- See Also:
-
propnamePerformGlobalAnalysis
- See Also:
-
propnameDebugInformationUsagePolicy
- See Also:
-
propnameDebugInformationRetrievalPolicy
- See Also:
-
propnameUseTypeLibraries
- See Also:
-
propnameLoadTypelibrariesCodelessSigs
- See Also:
-
propnameSignaturePackagesLoading
- See Also:
-
propnameCompilerIdentification
- See Also:
-
propnameTailCallAnalysisStyle
- See Also:
-
propnameSwitchAnalysisStyle
- See Also:
-
propnamePreferHexAddresses
- See Also:
-
propnamePerformFakeRoutineCallAnalysis
- See Also:
-
propnameApplyAndroidNativePrototypes
- See Also:
-
propnameCreatePackagesFromRoutineNames
- See Also:
-
-
Constructor Details
-
AbstractNativeDisassemblerPlugin
-
-
Method Details
-
canBeProcessedOutsideCodeObject
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.- Specified by:
canBeProcessedOutsideCodeObject
in interfaceINativeDisassemblerPlugin<InsnType extends IInstruction>
- Returns:
-
canProcessELF
public boolean canProcessELF(int machineId, boolean isELF64) The default implementation returns false.- Specified by:
canProcessELF
in interfaceINativeDisassemblerPlugin<InsnType extends IInstruction>
- Returns:
-
canProcessPE
public boolean canProcessPE(int machineId, boolean isPE64) The default implementation returns false.- Specified by:
canProcessPE
in interfaceINativeDisassemblerPlugin<InsnType extends IInstruction>
- Returns:
-
getProcessorTypes
The default implementation returns an empty collection.- Specified by:
getProcessorTypes
in interfaceINativeDisassemblerPlugin<InsnType extends IInstruction>
- Returns:
- a list, possibly empty
-
getCallingConvention
The default implementation returns null. JEB will attempt to determine the calling convention on its own.- Specified by:
getCallingConvention
in interfaceINativeDisassemblerPlugin<InsnType extends IInstruction>
- Returns:
-
toString
-