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 Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class com.pnfsoftware.jeb.core.units.AbstractUnitPlugin
pdm, pm, priority, type -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanThe 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.booleancanProcessELF(int machineId, boolean isELF64) The default implementation returns false.booleancanProcessPE(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
setupCustomPropertiesMethods inherited from class com.pnfsoftware.jeb.core.units.AbstractUnitPlugin
getFormatType, getPriority, getPropertyDefinitionManager, getTypeIdProvider, initializeMethods inherited from class com.pnfsoftware.jeb.core.AbstractPlugin
dispose, getData, setDataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.INativeDisassemblerPlugin
createContributions, getAnalyzerExtension, getCodeFormatter, getMemory, getProcessorMethods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.INativePlugin
setupCustomPropertiesMethods inherited from interface com.pnfsoftware.jeb.core.IPlugin
dispose, getData, getPluginInformation, setDataMethods 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:
canBeProcessedOutsideCodeObjectin interfaceINativeDisassemblerPlugin<InsnType extends IInstruction>- Returns:
-
canProcessELF
public boolean canProcessELF(int machineId, boolean isELF64) The default implementation returns false.- Specified by:
canProcessELFin interfaceINativeDisassemblerPlugin<InsnType extends IInstruction>- Returns:
-
canProcessPE
public boolean canProcessPE(int machineId, boolean isPE64) The default implementation returns false.- Specified by:
canProcessPEin interfaceINativeDisassemblerPlugin<InsnType extends IInstruction>- Returns:
-
getProcessorTypes
The default implementation returns an empty collection.- Specified by:
getProcessorTypesin 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:
getCallingConventionin interfaceINativeDisassemblerPlugin<InsnType extends IInstruction>- Returns:
-
toString
-