Class ElfDefaultGotPltMarkup


  • public class ElfDefaultGotPltMarkup
    extends java.lang.Object
    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.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      ChangeModifier and Type Method Description
      NEWstatic boolean isValidPointer​(Data pointerData)
      Determine if pointerData refers to a valid memory address or symbol
      void process​(TaskMonitor monitor)  
      MODIFIEDvoid processLinkageTable​(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.
      NEWstatic void setConstant​(Data data)
      Set specified data as constant if contained within a writable block.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ElfDefaultGotPltMarkup

        public ElfDefaultGotPltMarkup​(ElfLoadHelper elfLoadHelper)
    • Method Detail

      • 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 CancelledException
        public void processLinkageTable​(java.lang.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 messages
        minAddress - minimum address of linkage table
        maxAddress - maximum address of linkage table
        monitor - 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