Package ghidra.app.util.bin.format.elf
Class ElfDefaultGotPltMarkup
java.lang.Object
ghidra.app.util.bin.format.elf.ElfDefaultGotPltMarkup
ElfDefaultGotPltMarkup
provides the legacy/default implementation of ELF GOT/PLT processing
which handles a limited set of cases. It is intended that over time this default implementation be
eliminated although it may form the basis of an abstract implementation for specific processor
extensions.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
isValidPointer
(Data pointerData) Determine if pointerData refers to a valid memory address or symbolvoid
process
(TaskMonitor monitor) void
processLinkageTable
(String pltName, Address minAddress, Address maxAddress, TaskMonitor monitor) Perform disassembly and markup of specified external linkage table which consists of thunks to external functions.static void
setConstant
(Data data) Set specified data as constant if contained within a writable block.
-
Constructor Details
-
ElfDefaultGotPltMarkup
-
-
Method Details
-
process
- Throws:
CancelledException
-
processLinkageTable
public void processLinkageTable(String pltName, Address minAddress, Address maxAddress, TaskMonitor monitor) throws CancelledException Perform disassembly and markup of specified external linkage table which consists of thunks to external functions. If symbols are defined within the linkage table, these will be transitioned to external functions.- Parameters:
pltName
- name of PLT section for log messagesminAddress
- minimum address of linkage tablemaxAddress
- maximum address of linkage tablemonitor
- task monitor- Throws:
CancelledException
- task cancelled
-
setConstant
Set specified data as constant if contained within a writable block. It can be helpful to the decompiler results if constant pointers are marked as such (e.g., GOT entries)- Parameters:
data
- program data
-
isValidPointer
Determine if pointerData refers to a valid memory address or symbol- Parameters:
pointerData
- pointer data- Returns:
- true if pointer data refers to valid memory address or symbol
-