Package ghidra.app.util.bin.format.elf
Class ElfDefaultGotPltMarkup
- java.lang.Object
-
- ghidra.app.util.bin.format.elf.ElfDefaultGotPltMarkup
-
public class ElfDefaultGotPltMarkup extends java.lang.ObjectElfDefaultGotPltMarkupprovides 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
Constructors Change Constructor Description ElfDefaultGotPltMarkup(ElfLoadHelper elfLoadHelper)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Change Modifier and Type Method Description NEW static booleanisValidPointer(Data pointerData)Determine if pointerData refers to a valid memory address or symbolvoidprocess(TaskMonitor monitor)MODIFIED voidprocessLinkageTable(java.lang.String pltName, Address minAddress, Address maxAddress, TaskMonitor monitor)Perform disassembly and markup of specified external linkage table which consists of thunks to external functions.NEW static voidsetConstant(Data data)Set specified data as constant if contained within a writable block.
-
-
-
Constructor Detail
-
ElfDefaultGotPltMarkup
public ElfDefaultGotPltMarkup(ElfLoadHelper elfLoadHelper)
-
-
Method Detail
-
process
public void process(TaskMonitor monitor) throws CancelledException
- Throws:
CancelledException
-
processLinkageTable MODIFIED
param 1 renamed: name → pltName-void processLinkageTable(java.lang.String name, ghidra.program.model.address.Address minAddress, ghidra.program.model.address.Address maxAddress, ghidra.util.task.TaskMonitor monitor) throws CancelledException+void processLinkageTable(java.lang.String pltName, ghidra.program.model.address.Address minAddress, ghidra.program.model.address.Address maxAddress, ghidra.util.task.TaskMonitor monitor) throws CancelledExceptionpublic void processLinkageTable(java.lang.String pltName, Address minAddress, Address maxAddress, TaskMonitor monitor) throws CancelledExceptionPerform 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 NEW
public static void setConstant(Data data)
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 NEW
public static boolean isValidPointer(Data pointerData)
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
-
-