GoRttiMapper

Package: ghidra.app.util.bin.format.golang.rtti
Type: class

12.0_PUBLIC

removedmethod: addModule
void addModule(ghidra.app.util.bin.format.golang.rtti.GoModuledata module)
removedmethod: exportTypesToGDT
void exportTypesToGDT(java.io.File gdtFile, boolean runtimeFuncSnapshot, ghidra.util.task.TaskMonitor monitor) throws IOException, CancelledException
removedmethod: findGolangBootstrapGDT
static generic.jar.ResourceFile findGolangBootstrapGDT(ghidra.app.util.bin.format.golang.GoVer goVer, int ptrSize, java.lang.String osName)
removedmethod: getBootstrapFunctionDefintion
ghidra.program.model.data.FunctionDefinition getBootstrapFunctionDefintion(java.lang.String funcName)
removedmethod: getGDTFilename
static java.lang.String getGDTFilename(ghidra.app.util.bin.format.golang.GoVer goVer, int pointerSizeInBytes, java.lang.String osName)
removedmethod: initMethodInfoIfNeeded
void initMethodInfoIfNeeded() throws IOException

11.4_PUBLIC

addedmethod: close
void close()
addedmethod: getBuildInfo
ghidra.app.util.bin.format.golang.GoBuildInfo getBuildInfo()
addedmethod: getCallingConventionFor
java.lang.String getCallingConventionFor(ghidra.app.util.bin.format.golang.rtti.GoFuncData func)
addedmethod: getDefaultCallingConventionName
java.lang.String getDefaultCallingConventionName()
addedmethod: getFuncDefFor
ghidra.app.util.bin.format.golang.rtti.GoRttiMapper.FuncDefResult getFuncDefFor(ghidra.app.util.bin.format.golang.rtti.GoFuncData funcData) throws IOException
addedmethod: getFunctionsByNamePattern
java.util.List<ghidra.app.util.bin.format.golang.rtti.GoFuncData> getFunctionsByNamePattern(java.util.regex.Pattern pattern)
addedmethod: getGoBinary
static ghidra.app.util.bin.format.golang.rtti.GoRttiMapper getGoBinary(ghidra.program.model.listing.Program program, ghidra.util.task.TaskMonitor monitor) throws BootstrapInfoException, IOException
addedmethod: getGoTypes
ghidra.app.util.bin.format.golang.rtti.GoTypeManager getGoTypes()
addedmethod: getGoVer
ghidra.app.util.bin.format.golang.GoVer getGoVer()
addedmethod: getModules
java.util.List<ghidra.app.util.bin.format.golang.rtti.GoModuledata> getModules()
addedmethod: getUninitializedNoPtrDataRange
ghidra.program.model.address.AddressSetView getUninitializedNoPtrDataRange()
addedmethod: isAbi0Func
static boolean isAbi0Func(ghidra.program.model.address.Address funcEntry, ghidra.program.model.listing.Program program)
addedfield: SUPPORTED_VERSIONS
static ghidra.app.util.bin.format.golang.GoVerRange SUPPORTED_VERSIONS
modifiedmethod: getMethodInfoForFunction
return type: List → GoMethodInfo
- java.util.List<ghidra.app.util.bin.format.golang.rtti.MethodInfo> getMethodInfoForFunction(ghidra.program.model.address.Address funcAddr)
+ ghidra.app.util.bin.format.golang.rtti.types.GoMethod.GoMethodInfo getMethodInfoForFunction(ghidra.program.model.address.Address funcAddr)
removedmethod: cacheRecoveredDataType
void cacheRecoveredDataType(ghidra.app.util.bin.format.golang.rtti.types.GoType typ, ghidra.program.model.data.DataType dt) throws IOException
removedmethod: discoverGoTypes
void discoverGoTypes(ghidra.util.task.TaskMonitor monitor) throws IOException, CancelledException
removedmethod: findGoType
ghidra.app.util.bin.format.golang.rtti.types.GoType findGoType(java.lang.String typeName)
removedmethod: getCachedGoType
ghidra.app.util.bin.format.golang.rtti.types.GoType getCachedGoType(long offset)
removedmethod: getCachedRecoveredDataType
ghidra.program.model.data.DataType getCachedRecoveredDataType(ghidra.app.util.bin.format.golang.rtti.types.GoType typ) throws IOException
removedmethod: getChanGoType
ghidra.app.util.bin.format.golang.rtti.types.GoType getChanGoType()
removedmethod: getGenericSliceDT
ghidra.program.model.data.Structure getGenericSliceDT()
removedmethod: getGoBinary
static ghidra.app.util.bin.format.golang.rtti.GoRttiMapper getGoBinary(ghidra.program.model.listing.Program program) throws BootstrapInfoException, IOException
removedmethod: getGolangOSString
static java.lang.String getGolangOSString(ghidra.program.model.listing.Program program)
removedmethod: getGolangVersion
ghidra.app.util.bin.format.golang.GoVer getGolangVersion()
removedmethod: getGoType
ghidra.app.util.bin.format.golang.rtti.types.GoType getGoType(long offset) throws IOException
removedmethod: getGoType
ghidra.app.util.bin.format.golang.rtti.types.GoType getGoType(ghidra.program.model.address.Address addr) throws IOException
removedmethod: getGoTypeName
java.lang.String getGoTypeName(long offset)
removedmethod: getInt32DT
ghidra.program.model.data.DataType getInt32DT()
removedmethod: getInterfacesImplementedByType
java.util.List<ghidra.app.util.bin.format.golang.rtti.GoItab> getInterfacesImplementedByType(ghidra.app.util.bin.format.golang.rtti.types.GoType type)
removedmethod: getMapGoType
ghidra.app.util.bin.format.golang.rtti.types.GoType getMapGoType()
removedmethod: getRecoveredType
ghidra.program.model.data.DataType getRecoveredType(ghidra.app.util.bin.format.golang.rtti.types.GoType typ) throws IOException
removedmethod: getRecoveredTypesCp
ghidra.program.model.data.CategoryPath getRecoveredTypesCp(java.lang.String packagePath)
removedmethod: getSpecializedMethodSignature
ghidra.program.model.data.FunctionDefinition getSpecializedMethodSignature(java.lang.String methodName, ghidra.app.util.bin.format.golang.rtti.types.GoType methodType, ghidra.program.model.data.DataType receiverDT, boolean allowPartial) throws IOException
removedmethod: getUint32DT
ghidra.program.model.data.DataType getUint32DT()
removedmethod: getUintptrDT
ghidra.program.model.data.DataType getUintptrDT()
removedmethod: getUniqueGoTypename
java.lang.String getUniqueGoTypename(ghidra.app.util.bin.format.golang.rtti.types.GoType goType)
removedmethod: initTypeInfoIfNeeded
void initTypeInfoIfNeeded(ghidra.util.task.TaskMonitor monitor) throws CancelledException, IOException
removedmethod: recoverDataTypes
void recoverDataTypes(ghidra.util.task.TaskMonitor monitor) throws IOException, CancelledException
removedmethod: resolveTypeOff
ghidra.app.util.bin.format.golang.rtti.types.GoType resolveTypeOff(long ptrInModule, long off) throws IOException
removedfield: SUPPORTED_MAX_VER
static ghidra.app.util.bin.format.golang.GoVer SUPPORTED_MAX_VER
removedfield: SUPPORTED_MIN_VER
static ghidra.app.util.bin.format.golang.GoVer SUPPORTED_MIN_VER

11.2_PUBLIC

addedmethod: getAllSupportedVersions
static java.util.List<ghidra.app.util.bin.format.golang.GoVer> getAllSupportedVersions()
addedmethod: isFieldPresent
boolean isFieldPresent(java.lang.String presentWhen)
addedfield: SUPPORTED_MAX_VER
static ghidra.app.util.bin.format.golang.GoVer SUPPORTED_MAX_VER
addedfield: SUPPORTED_MIN_VER
static ghidra.app.util.bin.format.golang.GoVer SUPPORTED_MIN_VER
modifiedtype-implements: GoRttiMapper
- (none)
+ ghidra.app.util.bin.format.golang.structmapping.DataTypeMapperContext

11.1_PUBLIC

addedmethod: getGoSection
static ghidra.program.model.mem.MemoryBlock getGoSection(ghidra.program.model.listing.Program program, java.lang.String sectionName)
addedmethod: getGoSection
ghidra.program.model.mem.MemoryBlock getGoSection(java.lang.String sectionName)
addedmethod: getGoSymbol
static ghidra.program.model.symbol.Symbol getGoSymbol(ghidra.program.model.listing.Program program, java.lang.String symbolName)
addedmethod: getGoSymbol
ghidra.program.model.symbol.Symbol getGoSymbol(java.lang.String symbolName)
addedmethod: getTextAddresses
ghidra.program.model.address.AddressSetView getTextAddresses()
modifiedmethod: getGoBinary
added throws BootstrapInfoException; removed throws IllegalArgumentException
- static ghidra.app.util.bin.format.golang.rtti.GoRttiMapper getGoBinary(ghidra.program.model.listing.Program program) throws IllegalArgumentException, IOException
+ static ghidra.app.util.bin.format.golang.rtti.GoRttiMapper getGoBinary(ghidra.program.model.listing.Program program) throws BootstrapInfoException, IOException

11.0_PUBLIC

addedfield: ARTIFICIAL_RUNTIME_ZEROBASE_SYMBOLNAME
static java.lang.String ARTIFICIAL_RUNTIME_ZEROBASE_SYMBOLNAME
addedmethod: createMarkupSession
ghidra.app.util.bin.format.golang.structmapping.MarkupSession createMarkupSession(ghidra.util.task.TaskMonitor monitor)
addedmethod: exportTypesToGDT
void exportTypesToGDT(java.io.File gdtFile, boolean runtimeFuncSnapshot, ghidra.util.task.TaskMonitor monitor) throws IOException, CancelledException
addedmethod: getBootstrapFunctionDefintion
ghidra.program.model.data.FunctionDefinition getBootstrapFunctionDefintion(java.lang.String funcName)
addedmethod: getCachedGoType
ghidra.app.util.bin.format.golang.rtti.types.GoType getCachedGoType(long offset)
addedmethod: getGoBinary
static ghidra.app.util.bin.format.golang.rtti.GoRttiMapper getGoBinary(ghidra.program.model.listing.Program program) throws IllegalArgumentException, IOException
addedmethod: getGoTypeName
java.lang.String getGoTypeName(long offset)
addedmethod: getInterfacesImplementedByType
java.util.List<ghidra.app.util.bin.format.golang.rtti.GoItab> getInterfacesImplementedByType(ghidra.app.util.bin.format.golang.rtti.types.GoType type)
addedmethod: getMethodInfoForFunction
java.util.List<ghidra.app.util.bin.format.golang.rtti.MethodInfo> getMethodInfoForFunction(ghidra.program.model.address.Address funcAddr)
addedmethod: getMinLC
byte getMinLC() throws IOException
addedmethod: getRecoveredTypesCp
ghidra.program.model.data.CategoryPath getRecoveredTypesCp(java.lang.String packagePath)
addedmethod: getSafeName
ghidra.app.util.bin.format.golang.rtti.GoName getSafeName(ghidra.app.util.bin.format.golang.rtti.GoRttiMapper.GoNameSupplier supplier, T structInstance, java.lang.String defaultValue)
addedmethod: getSharedGoBinary
static ghidra.app.util.bin.format.golang.rtti.GoRttiMapper getSharedGoBinary(ghidra.program.model.listing.Program program, ghidra.util.task.TaskMonitor monitor)
addedmethod: getSpecializedMethodSignature
ghidra.program.model.data.FunctionDefinition getSpecializedMethodSignature(java.lang.String methodName, ghidra.app.util.bin.format.golang.rtti.types.GoType methodType, ghidra.program.model.data.DataType receiverDT, boolean allowPartial) throws IOException
addedmethod: getStringDataRange
ghidra.program.model.address.AddressSetView getStringDataRange()
addedmethod: getStringStructRange
ghidra.program.model.address.AddressSetView getStringStructRange()
addedmethod: getUniqueGoTypename
java.lang.String getUniqueGoTypename(ghidra.app.util.bin.format.golang.rtti.types.GoType goType)
addedmethod: getZerobaseAddress
static ghidra.program.model.address.Address getZerobaseAddress(ghidra.program.model.listing.Program prog)
addedmethod: hasCallingConvention
boolean hasCallingConvention(java.lang.String ccName)
addedmethod: initMethodInfoIfNeeded
void initMethodInfoIfNeeded() throws IOException
addedmethod: initTypeInfoIfNeeded
void initTypeInfoIfNeeded(ghidra.util.task.TaskMonitor monitor) throws CancelledException, IOException
addedmethod: isGolangProgram
static boolean isGolangProgram(ghidra.program.model.listing.Program program)
addedmethod: newStorageAllocator
ghidra.app.util.bin.format.golang.GoParamStorageAllocator newStorageAllocator()
modifiedmethod: getAllFunctions
removed throws IOException
- java.util.List<ghidra.app.util.bin.format.golang.rtti.GoFuncData> getAllFunctions() throws IOException
+ java.util.List<ghidra.app.util.bin.format.golang.rtti.GoFuncData> getAllFunctions()
modifiedmethod: getFunctionData
removed throws IOException
- ghidra.app.util.bin.format.golang.rtti.GoFuncData getFunctionData(ghidra.program.model.address.Address funcAddr) throws IOException
+ ghidra.app.util.bin.format.golang.rtti.GoFuncData getFunctionData(ghidra.program.model.address.Address funcAddr)
removedmethod: exportTypesToGDT
void exportTypesToGDT(java.io.File gdtFile, ghidra.util.task.TaskMonitor monitor) throws IOException
removedmethod: getAbi0CallingConvention
ghidra.program.model.lang.PrototypeModel getAbi0CallingConvention()
removedmethod: getAbiInternalCallingConvention
ghidra.program.model.lang.PrototypeModel getAbiInternalCallingConvention()
removedmethod: getDuffcopyCallingConvention
ghidra.program.model.lang.PrototypeModel getDuffcopyCallingConvention()
removedmethod: getDuffzeroCallingConvention
ghidra.program.model.lang.PrototypeModel getDuffzeroCallingConvention()
removedmethod: getLastGoType
ghidra.app.util.bin.format.golang.rtti.types.GoType getLastGoType()
removedmethod: getMapperFor
static ghidra.app.util.bin.format.golang.rtti.GoRttiMapper getMapperFor(ghidra.program.model.listing.Program program, ghidra.app.util.importer.MessageLog log) throws IOException
removedmethod: getRecoveredTypesCp
ghidra.program.model.data.CategoryPath getRecoveredTypesCp()
removedmethod: getStorageAllocator
ghidra.app.util.bin.format.golang.GoParamStorageAllocator getStorageAllocator()

10.4_PUBLIC

addedmethod: getAbi0CallingConvention
ghidra.program.model.lang.PrototypeModel getAbi0CallingConvention()
addedmethod: getAbiInternalCallingConvention
ghidra.program.model.lang.PrototypeModel getAbiInternalCallingConvention()
addedmethod: getAllFunctions
java.util.List<ghidra.app.util.bin.format.golang.rtti.GoFuncData> getAllFunctions() throws IOException
addedmethod: getDuffcopyCallingConvention
ghidra.program.model.lang.PrototypeModel getDuffcopyCallingConvention()
addedmethod: getDuffzeroCallingConvention
ghidra.program.model.lang.PrototypeModel getDuffzeroCallingConvention()
addedmethod: getFunctionByName
ghidra.app.util.bin.format.golang.rtti.GoFuncData getFunctionByName(java.lang.String funcName)
addedmethod: getFunctionData
ghidra.app.util.bin.format.golang.rtti.GoFuncData getFunctionData(ghidra.program.model.address.Address funcAddr) throws IOException
addedmethod: getLastGoType
ghidra.app.util.bin.format.golang.rtti.types.GoType getLastGoType()
addedmethod: getRegInfo
ghidra.app.util.bin.format.golang.GoRegisterInfo getRegInfo()
addedmethod: getStorageAllocator
ghidra.app.util.bin.format.golang.GoParamStorageAllocator getStorageAllocator()
addedmethod: init
void init(ghidra.util.task.TaskMonitor monitor) throws IOException
addedmethod: isGolangAbi0Func
boolean isGolangAbi0Func(ghidra.program.model.listing.Function func)

10.3_PUBLIC

introducedInitial version