com.pnfsoftware.jeb.core.units.codeobject.ISymbolInformation |
Known Indirect Subclasses |
Generic representation of a code symbol information. Method results are all optional; methods may return 0 or null if the data is irrelevant to the loader type they are part of.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | FLAG_ABSOLUTE | the symbol address is absolute | |||||||||
int | FLAG_EXPORTED | the symbol represent an object that is exported (publicly exposed) by the code unit | |||||||||
int | FLAG_FUNCTION_CODE_CONTIGUOUS | this flag may be used with FUNCTION symbols that have a non-zero
symbol size: it serves to indicate that the routine code is a contiguous list of instructions
(no inner data or undefined bytes, no loose basic blocks)
|
|||||||||
int | FLAG_IMPORTED | the symbol represent an object that is imported by the code unit | |||||||||
int | FLAG_METADATA | metadata symbols for linker or compiler, whose name is not useful |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract int |
getFlags()
Get the symbol flags.
| ||||||||||
abstract long |
getIdentifier()
Get the symbol identifier.
| ||||||||||
abstract String |
getName()
Get the symbol name.
| ||||||||||
abstract int |
getProcessorMode()
Retrieve the optional processor mode associated to this symbol, if the address points to
code.
| ||||||||||
abstract long |
getRelativeAddress()
Get the base-relative address of the description of the symbol.
| ||||||||||
abstract String | getSymbolDataTypeInformation() | ||||||||||
abstract long |
getSymbolRelativeAddress()
Get the base-relative address of the symbol.
| ||||||||||
abstract long |
getSymbolSize()
Get the size of the symbol.
| ||||||||||
abstract SymbolType |
getType()
Get the symbol type.
|
the symbol address is absolute
the symbol represent an object that is exported (publicly exposed) by the code unit
this flag may be used with FUNCTION
symbols that have a non-zero
symbol size: it serves to indicate that the routine code is a contiguous list of instructions
(no inner data or undefined bytes, no loose basic blocks)
the symbol represent an object that is imported by the code unit
metadata symbols for linker or compiler, whose name is not useful
Get the symbol flags. A valid combination of FLAG_xxx
.
Get the symbol identifier. Optional.
Get the symbol name.
Special syntax for imported functions: the function name may be prefixed by the library name
that contains it. A bang character is used as a separator. Example:
kernel32.dll!Sleep
Note: the method name may be mangled; it may be fully qualified. The library name is
optional; its extension is optional (eg, .dll, .so); it may be a full path.
Retrieve the optional processor mode associated to this symbol, if the address points to code. This value is optional, implementations may return 0.
IProcessor
for standard values)
Get the base-relative address of the description of the symbol. Informative and optional.
Get the base-relative address of the symbol.
Get the size of the symbol. May not be known.