Package ghidra.app.util.bin.format.pe
Class DebugDataDirectory
java.lang.Object
ghidra.app.util.bin.format.pe.DataDirectory
ghidra.app.util.bin.format.pe.DebugDataDirectory
- All Implemented Interfaces:
PeMarkupable
Points to an array of IMAGE_DEBUG_DIRECTORY structures.
-
Field Summary
Fields inherited from class ghidra.app.util.bin.format.pe.DataDirectory
hasParsed, IMAGE_SIZEOF_IMAGE_DIRECTORY_ENTRY, ntHeader, reader, size, TITLE, virtualAddress
-
Method Summary
Modifier and TypeMethodDescriptionReturns the debug parser used by this debug directory.void
markup
(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader nt) Marks up a PE structure.boolean
parse()
Parses this data directory.void
writeBytes
(RandomAccessFile raf, DataConverter dc, PortableExecutable template) Directories that are not contained inside of sections should override this method to write their bytes into the specified file.Methods inherited from class ghidra.app.util.bin.format.pe.DataDirectory
createDirectoryBookmark, createFragment, createTerminatedString, getPointer, getSize, getVirtualAddress, hasParsedCorrectly, processDataDirectory, setBookmark, setEolComment, setPlateComment, setPreComment, setSize, setVirtualAddress, toString, va, validateSize
-
Method Details
-
getDirectoryName
- Specified by:
getDirectoryName
in classDataDirectory
-
parse
Description copied from class:DataDirectory
Parses this data directory.- Specified by:
parse
in classDataDirectory
- Returns:
- True if parsing completed successfully; otherwise, false.
- Throws:
IOException
- If there was an IO problem while parsing.
-
markup
public void markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader nt) throws DuplicateNameException, CodeUnitInsertionException, IOException Description copied from interface:PeMarkupable
Marks up a PE structure.- Parameters:
program
- The program to markup.isBinary
- True if the program is binary; otherwise, false.monitor
- The monitor.log
- The log.nt
- The PE's NT Header structure.- Throws:
DuplicateNameException
CodeUnitInsertionException
IOException
-
getParser
Returns the debug parser used by this debug directory.- Returns:
- the debug parser used by this debug directory
-
writeBytes
public void writeBytes(RandomAccessFile raf, DataConverter dc, PortableExecutable template) throws IOException Description copied from class:DataDirectory
Directories that are not contained inside of sections should override this method to write their bytes into the specified file.- Overrides:
writeBytes
in classDataDirectory
- Parameters:
raf
- the random access file used for outputdc
- the data converter for endiannesstemplate
- the original unadulterated PE- Throws:
IOException
- if an I/O error occurs- See Also:
-