Uses of Interface
com.pnfsoftware.jeb.core.units.code.asm.type.INativeType
Packages that use INativeType
Package
Description
Types used to implement and access data identifiers, parsers, code analyzers, disassemblers,
decompilers, and debuggers.
This package and sub-packages contains types used by the native code analysis pipeline, including
gendec
(the generic decompiler).Types relating to the disassembler engine.
Types used to create and access
gendec
's IR (Intermediate Representation).Types used by the IR template and IR compiler.
IR emulator facility.
Native code items, including code items and data items.
Types used to represent a virtual memory used when analyzing native code.
Classes and interfaces to access and define native types and related objects, used by JEB's
native code analysis pipeline (including
gendec
).Public types and interfaces provided by the Simatic S7 analysis plugins.
-
Uses of INativeType in com.pnfsoftware.jeb.core.units
Methods in com.pnfsoftware.jeb.core.units that return INativeTypeModifier and TypeMethodDescriptionINativeCodeUnit.getDataTypeAt
(long address) Get the native type of the data item located at the provided address.Methods in com.pnfsoftware.jeb.core.units that return types with arguments of type INativeTypeMethods in com.pnfsoftware.jeb.core.units with parameters of type INativeTypeModifier and TypeMethodDescriptionboolean
INativeCodeUnit.setDataAt
(long address, INativeType type, String name) Create or update a data item at the provided address.boolean
INativeCodeUnit.setDataAt
(long address, INativeType type, String name, boolean undefineOverlappingItems) Create or update a data item at the provided address.boolean
INativeCodeUnit.setDataTypeAt
(long address, INativeType type) Convenience method to set the native type of a data item located at the provided address. -
Uses of INativeType in com.pnfsoftware.jeb.core.units.code.asm
Methods in com.pnfsoftware.jeb.core.units.code.asm with parameters of type INativeTypeModifier and TypeMethodDescriptionvoid
INativeContext.trackNativeItem
(INativeType type, IEventListener listener) -
Uses of INativeType in com.pnfsoftware.jeb.core.units.code.asm.analyzer
Methods in com.pnfsoftware.jeb.core.units.code.asm.analyzer with parameters of type INativeTypeModifier and TypeMethodDescriptionINativeDataAnalyzer.apply
(long address, INativeType type) Create a data item at the provided address: Parse data as an item of the given type.INativeDataAnalyzer.apply
(long address, INativeType type, int appliedSize) Create a data item at the provided address: Parse data as an item of the given type.INativeDataAnalyzer.createString
(long address, long size, INativeType type, StringEncoding stringType, String defaultStringValue) Create a string item.INativeCodeAnalyzer.defineData
(long address, INativeType type) INativeCodeAnalyzer.defineData
(long address, INativeType type, int appliedSize) IStackframeManager.defineItem
(long address, INativeType type) Define a new stack item. -
Uses of INativeType in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir that return INativeTypeModifier and TypeMethodDescriptionIWildcardType.getNativeType()
If the wildcard type is defined, provide the wrapped native type.Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir with parameters of type INativeTypeModifier and TypeMethodDescriptionIWildcardTypeManager.create
(INativeType nativeType) Create a wildcard type wrapping the provided native type. -
Uses of INativeType in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler that return INativeTypeModifier and TypeMethodDescriptionECompiler.CompiledField.getType()
ECompiler.CompiledField.getTypeOfImport()
-
Uses of INativeType in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator
Methods in com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator with parameters of type INativeTypeModifier and TypeMethodDescriptionvoid
EEmulator.addArgument
(byte[] val, INativeType t) void
EEmulator.addArgument
(long val, INativeType t) -
Uses of INativeType in com.pnfsoftware.jeb.core.units.code.asm.items
Methods in com.pnfsoftware.jeb.core.units.code.asm.items that return INativeTypeModifier and TypeMethodDescriptionINativeFieldItem.getFieldType()
INativeMethodItem.getReturnType()
INativeDataItem.getType()
Retrieve the data item type.Methods in com.pnfsoftware.jeb.core.units.code.asm.items that return types with arguments of type INativeTypeModifier and TypeMethodDescriptionList<? extends INativeType>
INativeMethodItem.getParameterTypes()
List<? extends INativeType>
INativeClassItem.getSubtypes()
Methods in com.pnfsoftware.jeb.core.units.code.asm.items with parameters of type INativeTypeModifier and TypeMethodDescriptionIFieldManager.createField
(INativeItem owner, String name, INativeType type) Create an abstract field item that. -
Uses of INativeType in com.pnfsoftware.jeb.core.units.code.asm.memory
Methods in com.pnfsoftware.jeb.core.units.code.asm.memory with parameters of type INativeTypeModifier and TypeMethodDescriptionVMReader.read
(long addr, INativeType t) Read bytes at the given memory address and treat them as an object of the provided type.Constructors in com.pnfsoftware.jeb.core.units.code.asm.memory with parameters of type INativeTypeModifierConstructorDescriptionVMWriter
(IVirtualMemory vm, long addr, INativeType t) Create a writer for the provided. -
Uses of INativeType in com.pnfsoftware.jeb.core.units.code.asm.type
Subinterfaces of INativeType in com.pnfsoftware.jeb.core.units.code.asm.typeModifier and TypeInterfaceDescriptioninterface
Alias type representingtypedef
s.interface
The array type.interface
Interface to represent native class types.interface
This type represents native enumerations.interface
Definition of native primitive types.interface
A native prototype.interface
The reference type, or pointer type.interface
Type item representing a structure or union (structure wit overlapping fields).Methods in com.pnfsoftware.jeb.core.units.code.asm.type with type parameters of type INativeTypeModifier and TypeMethodDescriptionstatic <T extends INativeType>
TTypeUtil.getNonAlias
(INativeType t, Class<T> expected) Methods in com.pnfsoftware.jeb.core.units.code.asm.type that return INativeTypeModifier and TypeMethodDescriptionstatic INativeType
TypeUtil.buildArrayType
(ITypeManager typeman, String lowestElementSignature, int... dimensions) Convenience routine to create an array type, possibly multi-dimensional.static INativeType
TypeUtil.buildQuick
(ITypeManager typeman, String signature) static INativeType
TypeUtil.buildQuickType
(ITypeManager typeman, String signature) Create an array or reference type using an existing base type.static INativeType
TypeUtil.findShorterForm
(INativeType _t) Attempt to retrieve a type equivalent to the provided input type, but whose string representation is shorter.TypeLibraryService.findTypeBySignature
(String signature, ProcessorType procType) Find a type by signature in the currently loaded typelibs.TypeLibraryService.findTypeBySignature
(String signature, ProcessorType procType, int groupId) Find a type by signature in the currently loaded typelibs.IAliasType.getAliasedType()
Retrieve the alias type (which may be another alias).static INativeType
TypeUtil.getBaseType
(INativeType type) Provide the base type of a type.IArrayType.getElementType()
Get the element type, which may be another array type.ITypeManager.getExactFloat
(int size) Find a floating-point or equivalent type of the exact provided size.ITypeManager.getExactInteger
(int size, boolean signed) Find an integer or equivalent type of the exact provided size.static INativeType
TypeUtil.getFirstSimpleType
(INativeType type) Get the first simple type embedded in the given type.ITypeManager.getInteger
(int minsize, boolean signed) Find an integer or equivalent type of at least the provided size.IReferenceType.getMainType()
Get the main type.static INativeType
TypeUtil.getNonAlias
(INativeType t) IReferenceType.getPointedType()
Get the pointed type.default INativeType
IReferenceType.getReferencedType()
Get the referenced type.IPrototypeItem.getReturnType()
IStructureTypeField.getType()
Get the field type.Retrieve a type by effective signature.Retrieve a type by effective signature.Retrieve a type by effective signature.TypeStringParser.Decl.getType()
ITypeManager.getVoid()
Get the void pseudo-type.Parse a non-complex C type.Methods in com.pnfsoftware.jeb.core.units.code.asm.type that return types with arguments of type INativeTypeModifier and TypeMethodDescriptionstatic List<INativeType>
TypeUtil.collectTypes
(IPrototypeItem proto) static List<INativeType>
TypeUtil.findType
(Collection<? extends INativeType> types, String pattern, boolean earlyExitOnFirstMatch) Find a type by pattern (partial name or signature, original or effective).List<? extends INativeType>
IPrototypeItem.getParameterTypes()
List<? extends INativeType>
IPrototypeItem.getReturnTypes()
ITypeLibrary.getTypes()
Get the list of types contained in this library.ITypeLibrary.getTypes
(ISimpleFilter<INativeType> filter) Get a list of types contained in this library.ITypeManager.getTypes()
Retrieve the types currently managed by this manager.ITypeManager.getTypes
(ISimpleFilter<INativeType> filter) Retrieve the types currently managed by this manager.TypeStringParser.parseTypesRaw
(String s) Parse any C type or types.static List<INativeType>
TypeUtil.retrieveAvailableTypes
(INativeCodeUnit<?> unit, int sourceFlags) static List<INativeType>
TypeUtil.retrieveAvailableTypes
(INativeCodeUnit<?> unit, int sourceFlags, ISimpleFilter<INativeType> filter) Methods in com.pnfsoftware.jeb.core.units.code.asm.type with parameters of type INativeTypeModifier and TypeMethodDescriptionITypeManager.addStructureField
(IStructureType type, String fieldName, INativeType fieldType) Append a field to a structure type item.ITypeManager.addStructureField
(IStructureType type, String fieldName, INativeType fieldType, int offset, int bitsize, int alignment, int flags) Add or append a field or bit field to a structure type item.static boolean
TypeUtil.areBitfielTypesEquivalent
(INativeType a, INativeType b) static boolean
TypeUtil.checkAliasedType
(INativeType t, INativeType expectedType) Check if a type aliases another type.ITypeManager.createAlias
(String signature, INativeType aliasedType) Create a new alias (typedef) type.ITypeManager.createArray
(INativeType baseType, int arraySize) Create a new array type.ITypeManager.createArray
(INativeType baseType, int arraySize, boolean metadata) Create a new array type.ITypeManager.createPrototype
(ICallingConvention callingConvention, INativeType returnType, List<INativeType> parameterTypes, Collection<PrototypeAttribute> attributes) Create a new prototype item.ITypeManager.createPrototype
(INativeType returnType, List<INativeType> parameterTypes) Create a new prototype item with the default calling convention for this manager and no special prototype attribute.ITypeManager.createReference
(INativeType baseType) Create a new simple pointer type.ITypeManager.createReference
(INativeType baseType, int refCount) Create a new reference (pointer) type.boolean
ITypeManager.deleteType
(INativeType type) Delete a type.static INativeType
TypeUtil.findShorterForm
(INativeType _t) Attempt to retrieve a type equivalent to the provided input type, but whose string representation is shorter.PrettyTypeFormatter.format
(INativeType t) static INativeType
TypeUtil.getBaseType
(INativeType type) Provide the base type of a type.static INativeType
TypeUtil.getFirstSimpleType
(INativeType type) Get the first simple type embedded in the given type.static TypeLayoutInfo
TypeUtil.getLayoutInfo
(INativeType t) static INativeType
TypeUtil.getNonAlias
(INativeType t) static <T extends INativeType>
TTypeUtil.getNonAlias
(INativeType t, Class<T> expected) static IStructureTypeField
TypeUtil.getStructureField
(INativeType t, int fieldStartOffset) Given a structure type (or an alias to one), retrieve the field at the provided offset.static IStructureTypeField
TypeUtil.getStructureField
(INativeType t, String fieldName) Given a structure type (or an alias to one), retrieve the field with the provided name.static boolean
TypeUtil.isAlias
(INativeType t) static boolean
TypeUtil.isBitfieldCompatible
(INativeType t) static boolean
TypeUtil.isCharacter
(INativeType t) boolean
IStructureType.isCircular
(INativeType type) static boolean
TypeUtil.isCompositeType
(INativeType t) Determine if the (unaliased) type is an array or a structure type.static boolean
TypeUtil.isFloat
(INativeType t) static boolean
TypeUtil.isFunctionPointer
(INativeType t) Determine if the provided type is a function pointer, that is, a reference (aliased or not) to a prototype item.static boolean
TypeUtil.isFunctionPointer
(INativeType t, IPrototypeItem[] aproto) Determine if the provided type is a function pointer, that is, a reference (aliased or not) to a prototype item.static boolean
TypeUtil.isInteger
(INativeType t) static boolean
TypeUtil.isPointer
(INativeType t) Determine if the (unaliased) type is a reference type.static boolean
TypeUtil.isPointerToPointer
(INativeType t) Determine if the (unaliased) type is a reference to a reference type.static boolean
TypeUtil.isPrimitive
(INativeType t) static boolean
TypeUtil.isPrototype
(INativeType t) static boolean
TypeUtil.isReference
(INativeType t) static boolean
TypeUtil.isSignedInteger
(INativeType t) static boolean
TypeUtil.isSimple
(INativeType t) static boolean
TypeUtil.isUnsignedInteger
(INativeType t) static boolean
TypeUtil.isVoid
(INativeType t) static boolean
TypeUtil.isVoidPointer
(INativeType t) static boolean
TypeUtil.same
(INativeType a, INativeType b) static boolean
TypeUtil.structureInStructure
(IStructureType structType, INativeType type) Detect structure cycles: Determine if the second parameter type is or contains the structure type provided as the first parameter.void
ITypeManager.verify
(INativeType type) Verify that the provided type belongs to this type manager; raise if it's not the case.Method parameters in com.pnfsoftware.jeb.core.units.code.asm.type with type arguments of type INativeTypeModifier and TypeMethodDescriptionITypeManager.createPrototype
(ICallingConvention callingConvention, INativeType returnType, List<INativeType> parameterTypes, Collection<PrototypeAttribute> attributes) Create a new prototype item.ITypeManager.createPrototype
(INativeType returnType, List<INativeType> parameterTypes) Create a new prototype item with the default calling convention for this manager and no special prototype attribute.ITypeManager.createPrototypeEx
(ICallingConvention callingConvention, List<INativeType> returnTypes, List<INativeType> parameterTypes, Collection<PrototypeAttribute> attributes) Create a new prototype item.static List<INativeType>
TypeUtil.findType
(Collection<? extends INativeType> types, String pattern, boolean earlyExitOnFirstMatch) Find a type by pattern (partial name or signature, original or effective).ITypeLibrary.getTypes
(ISimpleFilter<INativeType> filter) Get a list of types contained in this library.ITypeManager.getTypes
(ISimpleFilter<INativeType> filter) Retrieve the types currently managed by this manager.static List<INativeType>
TypeUtil.retrieveAvailableTypes
(INativeCodeUnit<?> unit, int sourceFlags, ISimpleFilter<INativeType> filter) -
Uses of INativeType in com.pnfsoftware.jeb.core.units.code.simatic
Methods in com.pnfsoftware.jeb.core.units.code.simatic that return INativeTypeModifier and TypeMethodDescriptionIS7Block.generateNativeHeaderType
(ITypeManager typeman) IS7Block.generateNativeTrailerType
(ITypeManager typeman)