All Classes and Interfaces

Class
Description
 
Splash screen window to display version information about the current release of the Ghidra application.
Base class for DockingAction builders.
For use with the AbstractActionBuilder.inWindow(When) method to specify which windows (main window or secondary windows) a global tool bar or menu action will appear in.
Base command class for adding memory blocks.
 
 
 
A base implementation of Appender suitable for most cases.
Defines a context-free grammar, usually for the purpose of parsing mnemonic assembly instructions
Defines a production in a context-free grammar, usually for parsing mnemonic assembly
The (often intermediate) result of assembly
 
 
 
 
Base for a node in an assembly prototype
Base class for generating prototype nodes ("states") from a parse tree node
Context to pass along as states are generated
The workhorse of semantic resolution for the assembler
A solver that handles expressions of the form A [OP] B
 
An abstract p-code executor state piece for storing and retrieving bytes as arrays
 
Base class for many constraint editors, providing implementation for much of the interface.
A base implementation of ColumnDisplay that knows how to figure out the column type dynamically.
A version of ColumnDisplay to be used when the column value returned from ColumnDisplay.getColumnValue(AddressableRowObject) is Comparable
Base class for a variety of Complex data types of different sizes and types.
A base class to hold duplicate information for commands that create structures.
Base dialog for choosing DomainFiles.
Base class for DataType classes.
Parent base class for types that represent things that refer to functions
Class for managing the visiting (processing) of a set of values where some values depend on other values being process before them.
Abstract class that defines a panel for displaying name/value pairs with html-formatting.
 
A partial implementation of Tool that serves as a place to share common functionality
Base class for creating a compact and efficient DomainObjectListeners.
An Table Column is an interface that should be implemented by each class that provides a field (column) of an object based table (each row relates to a particular type of object).
This class is meant to be used by DynamicTableColumn implementations that do not care about the DATA_SOURCE parameter of DynamicTableColumn.
ElfRelocationHandler provides the base class for processor specific ELF relocation handlers.
An abstract library of Linux system calls, suitable for use with any processor
An abstract file contained in an emulated file system
An abstract emulated file system, exported to an emulated user-space program
An abstract library of UNIX system calls, suitable for use with any processor
The errno values as defined by the OS simulator
A dialog that is meant to be extended for showing exceptions
Base implementation for expression matchers
The root type of an expression solver
Common base class for tasks that need to extract files from a GFileSystem location.
Default implementation of base file system functionality.
 
Only shows addresses to the code unit at the address for the current context.
Provides a definition of a Float within a program.
Base class for implementers of the FunctionComparisonModel.
 
A common base class for list and table renderer objects, unifying the Ghidra look and feel.
A convenience base class that combines the GTableCellRenderer with the GColumnRenderer interface.
Base class for tests that provide some helper methods that are useful for tests that don't require swing/gui support.
A convenience base class that combines the GhidraTableCellRenderer with the GColumnRenderer interface
 
 
A job to transition vertices in a graph for location and visibility.
A job that provides an animator and callbacks for transitioning the visibility of graph vertices.
 
A root for system tests that provides known system information.
Base class for tests that need swing support methods.
 
A base system action used for actions that show help information.
Base class for labels that render html using a custom rendering kit.
Base type for integer data types such as chars, ints, and longs.
A base implementation of LayoutProvider that stubs some default methods.
An abstract base class for a LEB128 variable length integer data type.
An abstract Loader that provides a framework to conveniently load Programs with support for linking against libraries contained in other Programs.
A file system search path
An abstract executor state piece which internally uses long to address contents
A map of address spaces to objects which store or cache state for that space
Use this when each S is possibly a cache to some other state (backing) object
Use this when each S contains the complete state for the address space
 
 
 
 
 
A base class for prompting users to enter a number into this dialog
Generates Offset fields
Classes that implement this interface can read various flavors of the OMF format
 
 
An abstract Loader that provides support for programs that link to external libraries with an ordinal mechanism.
 
 
An abstract p-code formatter which can take a list of p-code ops or op templates and consistently format them.
A result instructing the formatter whether or not to continue
An abstract implementation of PcodeMachine suitable as a base for most implementations
AbstractPointerTypedefDataType provides an abstract BuiltIn datatype implementation for a pointer-typedef datatype.
 
A convenience base class for creating tests that use the default tool and open a program.
 
An abstract Loader that provides a framework to conveniently load Programs.
A convenience class that allows subclasses to signal that they implement ProgramLocationTableColumn, but they do not want to be ExtensionPoints.
An abstract Loader that provides a convenience wrapper around AbstractProgramLoader, minimizing the amount of work a subclass needs to do to load a Program
An abstract GhidraScriptProvider used to provide common functionality to different types of Python script implementations
This table field displays the bytes of the code unit at the ToAddress for the reference or possible reference address pair associated with a row in the table.
This table field displays the preview of the code unit at the ToAddress for the reference or possible reference address pair associated with a row in the table.
Allows the user to split a string using a regex as the delimiter.
 
An action used to trigger navigation callback on instances of JTable.
Base type for unsigned integer data types.
 
 
 
 
Table models should extends this model when they want sorting, potentially across multiple columns, but do not want Threading or do not work on Program-related data (Address, ProgramLocations, etc...).
 
An abstract file descriptor having no "offset," typically for stream-like files
Common base class for all Ghidra string DataTypes.
 
A base class to allow clients to buffer events.
 
An object that wraps a string and provides data that describes how to render that string.
Abstract base class for reading theme values either in sections (theme property files) or no sections (theme files)
 
A solver that handles expressions of the form [OP]A
Base type for unsigned integer data types.
Abstract base class for defined name/values in a GValuesMap and whose values can be edited in the ValuesMapDialog.
 
An implementation of VisualEdge that implements the base interface so subclasses do not have to.
A base layout that marries the Visual Graph and Jung layout interfaces.
A VisualVertex implementation that implements most of the methods on the interface
A base renderer class to define shared logic needed to render a vertex
Class to provide a map with weak values, backed by a given map
A weak value ref that also knows its key in the map.
Class to provide a navigable, e.g., tree-, map with weak values
A view of this same map that limits or changes the order of the keys
Base class that implements some methods of the WizardPanel, but not all.
Class that uses a single thread to execute scheduled jobs.
A convenience interface of GColumnRenderer for primitive-based/wrapper-based renderers.
 
 
Implements Accessible interfaces for individual fields in the field panel
Contains all the code for implementing the AccessibleFieldPanel which is an inner class in the FieldPanel class.
There was an issue accessing the executor's state, i.e., memory or register values
The interface provides a mechanism for clients to pass around an object that is effectively a 'results object', into which data can be placed as it is discovered.
 
A panel that displays inputs for key strokes and mouse bindings.
Builder for DockingActions
Dialog for displaying and invoking docking actions.
ActionContext is an interface used by DockingActionIfs that contains tool and plugin state information that allows an action to operate.
 
An enum for specifying which actions should be displayed in the ActionChooserDialog.
This enum defines the actions category groups.
Model for the SearchList used by the ActionChooserDialog.
Note: this class overrides the equals(Object) and relies upon the equals method of the userData object.
A class that exists primarily to provide access to action-related package-level methods of the DockingWindowManager.
Manages the global actions for the menu and toolbar.
Represents a way to trigger an action in the system.
Class to build an DependencyGraph base on a acyclic function call graph.
An implementation of Emulator that wraps the newer PcodeEmulator
An implementation of MemoryState which wraps a newer PcodeExecutorState.
Deprecated, for removal: This API element is subject to removal in a future version.
This class modifies the behavior of LongIntHashtable.
Action for adding all fields to the current format.
Command for adding Bit-mapped memory blocks.
Command for adding byte-mapped memory blocks
Dialog used to a label or to edit an existing label.
Command to update the name for an external program.
The action for adding a Field to the current format.
Command for adding a new memory block using bytes from an imported FileBytes object.
Command for assigning a tag to a function.
Command for adding a new memory block initialized with a specific byte.
Command to add a label.
Deprecated.
function signatures should be modified in their entirety using either UpdateFunctionCommand or ApplyFunctionSignatureCmd.
Command to add a memory variable to a function.
Command class to add a memory reference to the program.
AddMemRefsCmd adds a set of memory references from a specified address and opIndex to all code units identified by a set of addresses.
Command class to add an offset memory reference to the program.
Deprecated.
function signatures should be modified in their entirety using either UpdateFunctionCommand or ApplyFunctionSignatureCmd.
Deprecated.
function signatures should be modified in their entirety using either UpdateFunctionCommand or ApplyFunctionSignatureCmd.
Command class to add a register reference to the program.
Command to add a register variable to a function.
 
An object that represents and add, remove or change operation for one row of a table
 
An address represents a location in a program.
This class provides a ByteSequence view into an AddressableByteSource.
Interface for reading bytes from a program.
 
 
 
 
 
An annotated string handler that allows handles annotations that begin with AddressAnnotatedStringHandler.SUPPORTED_ANNOTATIONS.
This table model of addresses is used when you already have an Address array built.
Implementation of IndexMapper that uses an old and new AddressIndexMap to map indexes when the AddressIndexMap changes.
AddressBasedLocation provides the ability to render and compare addresses (e.g., location table column).
Converts AddressBasedLocation Column objects to Address so that column gets Address type column filters
 
Interface for an Address Change set.
Utilities for using addresses and ranges in streams
Interface representing the address mapping for any means of correlating addresses between a source program and a destination program.
A simple object that holds an AddressCorrelation address range and then name of the correlation.s
Interface for address correlation algorithms that can generate an address mapping from one set of program addresses to another.
An auxilliary arithmetic that reports the union of all addresses read, typically during the evaluation of an expression.
The AddressEvaluator class provides a way to evaluate a string that represents an address and resolve it to an address for a particular program.
 
Simple interface for getting an address factory.
Generates Address Fields.
The AddressFieldLocation class provides specific information about a program location within the ADDRESS field.
 
An option class that allows the user to edit a related group of options pertaining to address field display.
An AddressFormatException is thrown when a string that is supposed to be an address representation cannot be parsed.
Iterator of indexed fields that are addresses.
This class maps a set of address ranges into a contiguous set of indexes from 0 to the total size of the address set.
 
Long iterator over indexed addresses.
Panel for user input of addresses.
AddressIterator is used to iterate over some set of addresses.
 
 
Converts an AddressKeyIterator or an addressKeyAddressIterator into an AddressIterator
Iterator of primary keys that are addresses.
Returns a RecordIterator over records that are address keyed.
AddressLabelInfo is a utility class for storing an Address together with a corresponding language-defined label or alias that is within the global namespace which is established with a SourceType of IMPORTED within a program.
Container for holding an address and label.
Address map interface add methods need by the program database implementation to manage its address map.
Class used to map addresses to longs and longs to addresses.
AddressMapImpl provides a stand-alone AddressMap.
AddressObjectMap maintains a mapping between addresses in the program and Objects that have been discovered.
An AddressOutOfBoundsException indicates that the Address is being used to address Memory which does not exist.
An AddressOverflowException occurs when an attempt to add or subtract a displacement would result in a value which is outside the address space.
Table model that shows a location, label, and a preview column to show a preview of the code unit.
Stores information about an address in a program.
The AddressRange interface is used by any object that represents a contiguous inclusive range of addresses from a minimum address to a maximum address.
A class to break a range of addresses into 'chunks' of a give size.
A class for selecting whether to use the min address or the max address of an AddressRange for address range table columns
Implementation of an AddressRange.
AddressRangeIterator is used to iterate over some set of addresses.
 
AddressRangeMapDB provides a generic value range map backed by a database table.
Associates objects with address ranges.
AddressRangeIterator that takes a single address range and breaks it down into smaller address ranges of a specified maximum size.
Compares an address against an AddressRange.
Static methods to delete records from a table.
Class for storing sets of addresses.
This interface represents a collection of AddressSets (actually AddressSetViews).
ComparisonData for a generic set of addresses.
Interface for being notified whenever the set of visible addresses change in the listing.
 
Class that provides random access to Addresses in an AddressSet, based on the index of the address in the set, not the address offset value.
 
Defines methods to mark ranges in a property map.
AddressSetPropertyMap that uses a RangeMapDB to maintain a set of addresses.
 
Defines a read-only interface for an address set.
This class wraps an address set and provides read-only access to that set.
 
Provides information about the source of a byte value at an address including the file it came from, the offset into that file, and the original value of that byte.
The AddressSpace class is used to represent a unique context for addresses.
 
This table field displays Address associated with a row in the table.
This table column displays Data for the address table associated with a row in the table.
This table field displays size of the address table associated with a row in the table.
 
 
 
 
 
Exception thrown when an attempt is made to translate an address from one program into an equivalent address in another program.
 
 
 
Value class for Address types.
Utility class for the myriad ways of marshaling/unmarshaling an address and an optional size, to/from XML for the various configuration files.
Command class to add a shifted memory reference to the program.
Action for adding SpacerFields to a FieldModel
Deprecated.
function signatures should be modified in their entirety using either UpdateFunctionCommand or ApplyFunctionSignatureCmd.
Command class for adding stack references to a program.
Command to add a stack variable to a function.
The AddToProgramDialog is essentially the same as the ImporterDialog with a few exceptions.
 
Command for adding uninitialized memory blocks
Deprecated.
The need for this class is now unnecessary since duplicate labels are permitted
Indicates that the tagged method should be executed after the structure has been created and its data read into its structure mapped fields.
 
AIFF / AIFC header format:
 
 
AlignedStructureInspector provides a simple instance of a structure member container used to perform alignment operations without forcing modification of the actual structure.
AlignedStructurePacker provides support for performing aligned packing of Structure components.
StructurePackResult provides access to aligned packing results
 
Search filter that can test a search result and determine if that result is at an address whose offset matches the given alignment (i.e.
AlignmentType specifies the type of alignment which applies to a composite data type.
ByteSearch post search rule when a pattern is found.
Hash function hashing all the bytes of an individual Instruction
ThemeEvent for when a new theme is set or the current theme is reset to its original values.
Class to specify priority within the Automated Analysis pipeline.
Launcher entry point for running headless Ghidra.
Interface to perform automatic analysis.
 
AnalyzerType defines various types of analyzers that Ghidra provides.
A representation of a help location, which can be a file or a file with an anchor inside of that file.
 
 
 
Form a new expression by ANDing two PatternExpressions
Solves expressions of the form A & B
Logically AND multiple QualifierFilters together into a single filter.
Combines two queries such that this query is the logical "AND" of the two queries.
AndroidElfRelocationTableDataType provides an implementation of an Android APS2 packed ELF relocation table.
 
An interface used with AnimationUtils to allow clients to use the timing framework while performing their own painting.
A class that does basic setup work for creating an Animator.
 
 
 
 
 
 
 
 
 
 
 
A syscall library wherein Java methods are exported via a special annotated
An annotation to export a method as a system call in the library.
An interface for handling mouse clicks on AnnotatedTextFieldElements.
A userop library wherein Java methods are exported via a special annotation
A wrapped, annotated Java method, exported as a userop definition
An annotated userop with a fixed number of arguments
An annotation to receive the executor itself into a parameter
An annotation to receive the complete library into a parameter
An annotation to receive the output varnode into a parameter
An annotation to receive the executor's state into a parameter
An annotation to export a Java method as a userop in the library.
An annotated userop with a variable number of arguments
A handler to process AnnotatedTextFieldElement clicks.
NOTE: ALL AnnotatedStringHandler CLASSES MUST END IN "StringHandler".
A subclass of FieldElement that allows for mouse handling callbacks via the AnnotatedTextFieldElement.handleMouseClicked(Navigatable, ServiceProvider) method.
 
 
Exception thrown by the annotations classes.
NOTE: ALL AnnotationHandler CLASSES MUST END IN "AnnotationHandler".
Some utilities for reflection using annotations
 
 
 
A matcher which accept any expression of the required type
A table that allow users to provide a list of data objects whose method can be used to create columns.
Basic FunctionComparisonModel where a set of functions can be compared with each other
 
 
 
Interactive utility to discover and delete artifacts that Ghidra lays down on the filesystem
Command to append a specific type of comment on a code unit.
Class with static methods to maintain application info, e.g., a handle to the tool that is the Ghidra Project Window, the user's name, etc.
 
 
 
The Application class provides a variety of static convenience methods for accessing Application elements that can be used once the Application.initializeApplication(utility.application.ApplicationLayout, ghidra.framework.ApplicationConfiguration) call has been made.
 
Class to represent an application's unique identifier.
 
ApplicationKeyManagerFactory provides application keystore management functionality and the ability to generate X509KeyManager's for use with an SSLContext or other PKI related operations.
ApplicationKeyManagerUtils provides public methods for utilizing the application PKI key management, including access to trusted issuers (i.e., CA certificates), token signing and validation, and the ability to generate keystores for testing or when a self-signed certificate will suffice.
The Application Layout base class defines the customizable elements of the application's directory structure.
Marker interface to indicate this plugin is application-level tools only (see ApplicationLevelPlugin).
Marker that signals the implementing plugin can be added to the system at the application level.
 
The application properties.
 
ApplicationSSLSocketFactory provides a replacement for the default SSLSocketFactory which utilizes the default SSLContext established by SSLContextInitializer.
Provides theme default values, such as those loaded from *.theme.property files.
This is the fully functional ThemeManager that manages themes in a application.
ApplicationTrustManagerFactory provides the ability to establish acceptable certificate authorities to be used with SSL connections and PKI authentication.
Utility class for default application things.
Class to represent an application's version information.
 
Apply all function signature data types in a data type manager to any user defined label that has the same name as the function signature.
Command to create apply a function signature at an address.
 
 
 
 
An interface to be implemented by any class that can return a list of Archives.
 
 
Command object for performing Arm/Thumb disassembly
Array interface
Base interface for Defining methods for managing a "virtual" array of some data type.
Basic implementation of the Array interface.
 
 
 
 
ArrayStringable identifies those data types which when formed into an array can be interpreted as a string (e.g., character array).
 
The down arrow should move the selection down one row.
The down arrow should move the selection down one row.
The up arrow should move the selection up one row.
The up arrow should move the selection up one row.
 
An edge shape that renders as a series of straight lines between articulation points.
 
An implementation of exporter that creates an Ascii representation of the program.
 
 
Utilities for the Assembler
The primary interface for performing assembly in Ghidra.
An interface to build an assembler for a given language
The primary class for obtaining an Assembler for a Ghidra-supported language.
A convenience for accumulating bytes output by an Assembler
Describes a SLEIGH constructor semantic
The state corresponding to a sub-table operand
A graph of possible context changes via the application of various constructors
A transition in a context transition graph
A vertex in a context transition graph
A class that computes the default context for a language, and acts as a pseudo context
A terminal that accepts the end of input
An exception for programmer errors regarding an assembler
A checked exception used for input errors regarding the assembler
Defines an "extended" grammar
The type of non-terminal for an "extended grammar"
Defines a production of an "extended" grammar
A class to compute the first and follow of every non-terminal in a grammar
A terminal that accepts only a particular numeric value
A tree of generated assembly node states, paired with the resulting patterns
Defines a context free grammar, used to parse mnemonic assembly instructions
An exception to identify errors associated with grammar construction
The generator of AssemblyConstructState for a hidden sub-table operand
The type of non-terminal for an assembly grammar
 
The generator of AssemblyOperandState for a hidden value operand
A terminal that accepts only a particular set of numeric values, mapping each to another value
A context to hold various symbols offered to the assembler, usable where numbers are expected.
A terminal that accepts any numeric value or program symbol (label, equate)
The state corresponding to a non-sub-table operand
A successful result from parsing
The Action/Goto table for a LALR(1) parser
An ACCEPT (acc) entry
An action in the Action/Goto table
A GOTO (Gn) entry
A REDUCE (Rn) entry
A SHIFT (Sn) entry
A branch in a parse tree, corresponding to the application of a production
An unsuccessful result from parsing
 
A class that implements the LALR(1) parsing algorithm
A token having a numeric value
A class to encapsulate LALR(1) parsing for a given grammar
A map key used to identify merges for Step 4 in Stephen Jackson's rant
The map value keyed by AssemblyParser.MergeKey
A result of parsing a sentence
A state in an LR(0) parsing machine
An item in the state of an LR(0) parser
A string token
The transition table defining an LR(0) parsing machine
A node in a parse tree
The analog of PatternBlock, designed for use by the assembler
Defines a production for parsing mnemonic assembly
 
A set of possible assembly resolutions for a single SLEIGH constructor
 
 
 
 
Thrown when a programmer selects an improper instruction during assembly
Provides a mechanism for pruning and selecting binary assembled instructions from the results of parsing textual assembly instructions.
Thrown when all resolutions of an assembly instruction result in semantic errors.
A "string" of symbols
The token consumed by a whitespace terminal when it anticipates the end of input
The token consumed by a whitespace terminal
A terminal that accepts only a particular set of strings, mapping each to a numeric value
 
A terminal that accepts only a particular string
A symbol in a context-free grammar
Thrown when all parses of an assembly instruction result in syntax errors.
The type of terminal for an assembly grammar
 
AssertException is used in situations that the programmer believes can't happen.
An action that assigns an Address to a function prototype parameter A request for the address of either return storage or an input parameter is made through the assignAddress() method, which is given full information about the function prototype.
Generates Variable Assignment Fields (point of first-use).
 
Represents a Swift AssociatedTypeDescriptor structure
Represents a Swift AssociatedTypeRecord structure
Command class for associating a reference with a specific label
Column Constraint where acceptable column values are greater than or equal to some specified value of the column type.
Column Constraint where acceptable column values are greater than or equal to some specified value of the column type.
Column Constraint where acceptable column values are less than or equal to some specified value of the column type.
Column Constraint where acceptable column values are greater than or equal to some specified value of the column type
Base class for attributes -- int, double, or String values -- which can be assigned to the members of a KeyIndexableSet, e.g.
 
Generic directed graph edge implementation
Basic graph implementation for a directed graph whose vertices and edges support attributes.
Interface for exporting AttributedGraphs
An object that wraps a string and provides data that describes how to render that string.
 
Graph vertex with attributes
An annotation for a data element being transferred to/from a stream This class parallels the XML concept of an attribute on an element.
Class which creates and keeps track of attributes defined for a single KeyIndexableSet.
 
 
An editor that provides suggestions of values that, according to StringColumnConstraint, match a user-supplied pattern.
This is a default list cell renderer for the TextFieldAutocompleter suitable for extension if a user wishes to customize it.
An event related to autocompletion, usually a completion being activated by the user.
A listener for autocompletion events.
A model to generate the suggested completions, given a viable prefix.
A marker interface to signal that the implementing action is temporary and gets built automatically by the tool
Utility methods to do Program imports automatically (without requiring user interaction)
A class that holds the logic and state for finding matching rows in a widget when a user types in the widget.
The AutomaticCommentFieldLocation class contains specific location information within the automatic comment of an EOL comment field of a CodeUnitLocation object.
 
AutoParameterType defines the various types of auto-parameters.
Helper class for autoscrolling on a component.
An auxiliary emulator parts factory for stand-alone emulation
A stand-alone emulator whose parts are manufactured by a AuxEmulatorPartsFactory
The default thread for AuxPcodeEmulator
 
Abstract command that will be run in a thread (in the background) other than the AWT(GUI) thread.
Provides an implementation of a data type that is not valid (bad) as it is used in the program.
BadLinkException occurs when a link-file expected linked content type does not match the actual content type of the linked file.
 
 
 
A class to represent the IMAGE_BASE_RELOCATION data structure defined in winnt.h.
Points to the base relocation information.
Fetches DWARF sections from a normal program using simple Ghidra memory blocks.
This BlockModel implements the Basic block model.
BasicCompilerSpec implements the CompilerSpec interface based on static information from a particular .cspec file.
 
A class to override the default edge label placement.
 
 
 
A group of LoadSpecs (possibly from different user added sources) that have a common BatchSegregatingCriteria.
 
Similar to a LoadSpec, but not associated with a Loader.
 
 
This is the main state of a batch import task, containing the segregated groupings of applications.
Set of identifying pieces of info that allow us to segregate files that we are importing into groups.
 
 
Helper class to convert a byte array to Java primitives and primitives to a byte array in Big endian.
An IEEE 754 floating point class.
DialogComponentProvider that provides information to create a modal dialog to prompt for a number larger than an int or long to be input by the user.
NOTE: ALL BinaryAnalysisCommand CLASSES MUST END IN "BinaryAnalysisCommand".
Allows various non-database supported data types to be encoded within a BinaryField which may be stored within the database.
 
An Exporter that can export memory blocks as raw bytes
 
Base class for binary operators that combine PatternExpressions
A matcher for a binary expression
A matcher for binary expression allowing commutativity
BinaryField provides a wrapper for variable length binary data which is read or written to a Record.
 
 
A class for reading data from a generic byte provider in either big-endian or little-endian.
Reads and returns an object from the current position in the specified input stream.
Reads and returns an object from the current position in the specified BinaryReader.
A Mach-O binding table
A piece of binding information from a BindingTable
Bind opcodes
BitFieldDataType provides a means of defining a minimally sized bit-field for use within data structures.
 
 
 
Class used to organize long values into sets of values with overlapping bits.
 
Definition of a Bitmap Resource Data Structure defined within the resources section of a windows executable.
The BitTree class maintains a set of ordered keys between the values of 0 and N.
This class holds basic-block information for matching algorithms.
Block representing and '&&' or '||' control flow path within a conditional expression possible multiple incoming edges 2 outgoing edges, one for true control flow, one for false control flow one "initial" condition block, with 2 outgoing edges one "secondary" condition block, with 2 outgoing edges, exactly 1 incoming edge from "initial"
Placeholder for a basic block (BlockBasic) within a structured control-flow graph.
Do-while block: possible multiple incoming edges 1 (implied) edge outgoing back to itself 1 edge outgoing (the loop exit) 1 block representing the body of the loop
 
A "plain" goto block possible multiple incoming edges no outgoing edges 1 (implied) outgoing edge representing the unstructured goto
A block (with in edges and out edges) that contains other blocks
A standard if/else control flow block possible multiple incoming edges 1 outgoing edge - going to the common out block rejoining the 2 control flows 1 "condition" block with exactly 2 outputs 1 "true" block representing the control flow if the condition is true 1 "false" block representing the control flow if the condition is false
Block representing an if () goto control flow possible multiple incoming edges 1 output edge if the condition is false 1 (implied) output edge representing the unstructured control flow if the condition is true 1 block evaluating the condition
Block representing an infinite loop possible multiple incoming edges no outgoing edges 1 (implied) outgoing edge representing loop to the top control flow 1 interior block representing the body of the loop
Block representing a sequence of other blocks possible multiple incoming edges 1 outgoing edge 1 or more interior blocks that are executed in sequence
 
Service for providing block models.
Listener interface for BlockModelService.
A block representing a 2-or-more control flow branchpoint possible multiple incoming edges 1 or more outgoing edges (as in switch control flow) 2 or more (implied) outgoing edges representing unstructured branch destinations (switch case with goto statement) 1 interior block representing the decision block of the switch
A block containing condition control flow possible multiple incoming edges 1 outgoing edge representing rejoined control flow 2 interior blocks one "condition" block representing the decision point on whether to take the conditional flow one "body" block representing the conditional flow that may be followed or may be skipped
A feature rooted in a basic block.
BlockStartLocation provides information about the location (within a program) of an object that represents the start of a memory block.
BlockStream provides a BufferFile block stream.
 
A block representing a switch construction possible multiple incoming edges 1 outgoing edge representing all the interior control flow cases coming back together 1 interior block representing the decision point with outgoing edges to the different cases (or the exit block) multiple interior blocks for each "case" of the switch cases must exactly 1 outgoing edge to the common exit block or have no outgoing edges
Block representing a while-do (exit from the top) loop construction possible multiple incoming edges 1 outgoing exit edge 1 (implied) loop edge 1 interior block representing the top of the loop and the decision point for staying in the loop 1 interior block representing the body of the loop, which always exits back to the top of the loop
Interface for bookmarks.
Provides an ordering for bookmarks.
 
 
 
Interface for managing bookmarks.
 
Interface for bookmark types.
Provides an ordering for bookmark types.
 
 
 
Data structure to set bits to indicate in use.
 
A constraint editor for Boolean-type constraints, offering a choice of boolean values.
Provides a definition of an Ascii byte in a program.
An editor for Boolean properties.
 
 
BooleanField provides a wrapper for boolean data which is read or written to a Record.
Column Constraint for boolean values where the column values must match the constraint value of either true of false.
Provides boolean related column constraints.
A Java property value for keys that use boolean values.
The inteface for SettingsDefinitions that have boolean values.
Value class for Boolean types.
 
 
InputStream wrapper that limits itself to a portion of the wrapped stream.
Bounded range factory for formatters with a min and max allowed value.
Points to an array of IMAGE_BOUND_IMPORT_DESCRIPTORs.
A class to represent the IMAGE_BOUND_IMPORT_DESCRIPTOR data structure defined in winnt.h.
A class to represent the IMAGE_BOUND_FORWARDER_REF data structure defined in winnt.h.
Implements an iterator over all GTreeNodes in some gTree (or subtree).
 
 
 
A button meant to be used to show a chooser dialog.
BrowserCodeUnitFormat provides a code unit format based upon a common set of viewer Options for specific Tool.
 
BrowserLoader opens a web browser and displays the given url.
Buffer provides a general purpose storage buffer interface providing various data access methods.
A class that run the client's runnable on the Swing thread.
BufferFile facilitates read/write access to buffer oriented file.
BufferFileAdapter provides a BufferFile implementation which wraps a BufferFileHandle.
BufferFileBlock is used to hold BufferFile blocks for use during block streaming operations.
BufferFileHandle facilitates access to a BufferFile
BufferFileManager provides an interface for a BufferFile manager who understands the storage for the various versions of BufferFiles associated with a single database.
BufferMgr provides low-level buffer management and caching.
A SearchLocation that expects the external debug files to be named using the hexadecimal value of the hash of the file, and to be arranged in a bucketed directory hierarchy using the first 2 hexdigits of the hash.
Represents a build_version_command structure
 
NOTE: ALL DATATYPE CLASSES MUST END IN "DataType".
NOTE: ALL DATATYPE CLASSES MUST END IN "DataType".
An exclusion filter to use when searching for classes that implement BuiltInDataType
Data type manager for built in types that do not live anywhere except in memory.
Database adapter for managing built-in data types.
Represents a Swift BuiltinTypeDescriptor structure
 
Exception thrown if an operation cannot be done because the tool has background tasks running.
Listener that is notified when a mouse button is pressed.
Defines one "state" for a MultiStateButton.
Array of bytes that grows as needed.
Array of byte[] that grows as needed.
An interface to convert from a object to a byte array.
An implementation of ByteProvider where the underlying bytes are supplied by a byte array.
 
Base class that can copy bytes into a Transferable object, and paste bytes into a program.
 
 
 
 
Provides a definition of a Byte within a program.
ByteField provides a wrapper for single signed byte data which is read or written to a Record.
An object that can ingest bytes from a stream in preparation for decoding
ByteMappingScheme facilitate byte mapping/decimation scheme for a mapped sub-block to an underlying source memory region.
ByteMatcher is the base class for an object that be used to scan bytes looking for sequences that match some criteria.
Record class to contain a match specification.
Simple byte buffer implementation of the memBuffer.
An interface for a generic random-access byte provider.
An InputStream that reads from a ByteProvider.
An InputStream that reads from a ByteProvider, and DOES close() the underlying ByteProvider when closed itself.
Wraps a ByteProvider and presents it as an InputStream.
A ByteProvider constrained to a sub-section of an existing ByteProvider.
A concrete in-memory bytes store for simulated file contents
A concrete in-memory file system simulator suitable for UNIX programs
A concrete in-memory file suitable for UNIX programs
An interface for accessing bytes from a byte source.
Generates Bytes Fields.
Provides specific information about the bytes field within a program location.
LazyImageIcon that is created from a byte array
A p-code arithmetic that operates on concrete byte array values
A state composing a single BytesPcodeExecutorStatePiece
A plain concrete state piece without any backing objects
A p-code executor state space for storing and retrieving bytes as arrays
A simple p-code thread that operates on concrete bytes
This table field displays the bytes for the code unit beginning at the address associated with a row in the table.
ByteStreamCharMatcher are state machines used to look for char sequences within a stream of bytes.
ByteTrie is a byte-based trie specifically designed to implement the Aho-Corasick string search algorithm.
 
Class to represent a (possibly non-terminal!) node within the ByteTrie.
 
An Encoder that holds its bytes in memory (where they can possibly be edited) and can then finally write them all to an OutputStream via a call to writeTo()
Caches passwords used to unlock a file.
 
A thread-safe pool that knows how to create instances as needed.
 
Class for managing the creation of some slow loading object that may be used by multiple threads, including the Swing thread.
 
A generic functional interface that is more semantically sound than Runnable.
An implementation of Accumulator that allows clients to easily process items as they arrive.
Given a function in a program or the start of a function, record information about the change to a stack pointer from a subroutine call.
A p-code userop invocation expression
 
 
An object that describes a component to be 'called-out'.
An Iterator wrapper that allows clients to use a task monitor to cancel iteration
CancelledException indicates that the user cancelled the current operation.
 
A monitor that is designed for sub-tasks, where the outer task handles reporting messages and progress.
Represents a Swift CaptureDescriptor structure
Capture all selected function signature data types from the current program and put them in the data type manager.
Listener that is notified when the CaptureFunctionDataTypesCmd completes.
Represents a Swift CaptureTypeRecord structure
Combines two drop targets and sends events to them in priority order.
CaseInsensitiveByteTrie is a byte-based trie specifically designed to implement the Aho-Corasick string search algorithm, matching alphabetic characters ignoring case.
Class to represent a (possibly non-terminal!) node within the CaseInsensitiveByteTrie.
Comparator for sorting Strings in a case insensitive way except that case insensitive duplicates are then sub-sorted by reverse case so that lower case is before upper case.
Each data type resides in a given a category.
A category path is the full path to a particular data type
Built-in GTheme that uses the Motif LookAndFeel and the standard (light) application defaults.
An icon that will update it's x,y offset to be centered over another, presumably larger icon.
 
 
Values for type CFragLocatorKind.
 
 
 
 
Values for type CFragUsage
If the fragment is an application, appStackSize indicates the application stack size.
 
 
 
DBBuffer provides storage for large data objects utilizing a common buffer management system.
Dialog to prompt user to save files before adding files to source control or checking in files.
Updates the name or comment field for a given function tag
ProgramEventerface to define event types and the method to generate an event within Program.
Empty implementation for a ChangeManager.
ChangeMap facilitates the decoding of change-data to determine if a specific buffer was modified by the corresponding buffer file version.
ChangeMapFile tracks which buffers within a LocalBufferFile have been modified between an older and newer version.
Generic marker to denote changes made to some object.
 
A class for bidirectional iteration over a string.
Provides the ability to split a string using a single character as the delimiter, interpreted as a regex.
Provides a definition of an primitive char in a program.
Additional information about java.nio.charset.Charset's that Ghidra needs to be able to create Ghidra string datatype instances.
 
SettingsDefinition for setting the charset of a string instance.
 
CheckinHandler facilitates application callbacks during the check-in of a DomainFile.
Task to perform a check on a list of DomainFiles.
 
 
 
Dialog for viewing all the current checkouts for a single domain file.
Panel that shows check out information for a domain file.
ChecoutType identifies the type of checkout
This algorithm is an implementation of the Cooper, Harvey, Kennedy algorithm.
This is ChkDominanceAlgorithm with reverse graph traversal, which allows the algorithm to calculate post dominance.
Abstract class for a GUI panel that allows the user to select choices for resolving conflicts.
Value class for selecting from a restricted set of Strings.
Panel that displays an animation of the Ghidra dragon eating bits.
 
A chunk represents the basic unit of text that is displayed in the FVTable.
A class that simplifies some the concurrent datastructure setup required for decompiling functions.
Stores all chunks read-in by the ChunkReader.
This class handles reading data from the input file, in the form of Chunk objects.
A Common Information Entry (CIE) holds information that is shared among many Frame Description Entries (FDEs).
Provides GCC exception handling model classes the means to obtain a Common Information Entry (CIE) object for a given address.
CircularDependencyException is thrown in cases where an action would cause the program's module structure to have a "cycle", that is to have two module which are both ancestors and descendants of each other.
A line break in source code plus the indenting for the following line.
A token representing a switch "case" label, or other constant not directly linked to data-flow.
A token in source code representing (part of) a comment.
 
A source code token representing a structure field.
A source code token representing a function name.
A grouping of source code tokens representing a function prototype
A grouping of source code tokens representing an entire function
Class to handle highlights for a decompiled function.
Interface for a decompiler highlight change listener.
A source code token representing a control-flow label.
Control the GUI layout for displaying tokenized C code
A line of C code.
 
A collection of source code text elements, with associated attributes, grouped in a tree structure.
A token representing a source code "operation".
A grouping of source code tokens representing the "return type" of a function, as at the beginning of a function prototype.
A source code statement (as typically terminated by ';' in C) A statement must have a p-code operation associated with it.
A source code token which is not an operation, variable, function name, or type.
 
Class representing a source code language token.
A sequence of tokens that form a meaningful group in source code.
A source code token representing a data-type.
A grouping of source code tokens representing a variable declaration.
Token representing a C variable
 
Information about a class file on disk
 
 
 
 
 
A predicate used to filter modules using the classpath.
This class is a collection of static methods used to discover classes that implement a particular interface or extend a particular base class.
Symbols that represent "classes"
ClassTranslator provides a way to map an old Ghidra class to a current Ghidra class.
 
 
 
Command to remove an external program name from the reference manager.
Command to clear a fallthrough.
A label that displays an icon that, when clicked, will clear the contents of the associated filter.
 
 
 
 
 
 
A abstract CLI stream type for convenience.
Generic Metadata table.
Generic Metadata table row.
Describes a blob in the #Blob heap.
 
 
 
 
 
 
 
 
ClientUtil allows a user to connect to a Repository Server and obtain its handle.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The Metadata directory pointed found in ImageCor20Header.
The header of a CliMetadataDirectory.
 
 
 
Determines what types of transfer data can be placed on the clipboard, as well as if cut, copy, and paste operations are supported
 
Defines a "type" for items in the Clipboard
Field for showing multiple strings, each with its own attributes in a field, on a single line, clipping as needed to fit within the field's width.
Describes the methods necessary to get a long and short representation, with or without an metadata stream.
 
 
 
 
 
 
 
 
 
 
 
 
The Blob stream contains ???.
The GUID stream points to a sequence of 128-bit GUIDs.
A structure used by a CliMetadataRoot describe a CliAbstractStream.
The Metadata stream is giant and complicated.
The Strings stream contains null-terminated UTF8 strings.
The User Strings stream contains blobs of 16-bit Unicode strings.
Describes the Assembly table.
Describes the AssemblyOS table.
Describes the AssemblyProcessor table.
Describes the AssemblyRef table.
Describes the AssemblyRefOS table.
Describes the AssemblyRefProcessor table.
Describes the ClassLayout table.
Describes the Constant table.
Describes the CustomAttribute table.
Describes the DeclSecurity table.
Describes the Event table.
Describes the EventMap table.
Describes the ExportedType table.
Describes the Field table.
Describes the FieldLayout table.
Describes the FieldMarshall table.
Describes the FieldRVA table.
Describes the File table.
Describes the GenericParam table.
Describes the GenericParamConstraint table.
Describes the ImplMap table.
Describes the InterfaceImpl table.
Describes the ManifestResources table.
Describes the MemberRef/MethodRef table.
Describes the MethodDef table.
Describes the MethodImpl table.
Describes the MethodSemantics table.
Describes the MethodSpec table.
Describes the Module Table, which contains information about the current assembly.
Describes the ModuleRef table.
Describes the NestedClass table.
Describes the Param table.
Describes the Property table.
Describes the PropertyMap class.
Describes the StandAloneSig table.
Describes the TypeDef table.
Describes the TypeRef table.
Describes the TypeSpec table.
Possible Metadata table types.
ClosedException indicates that the underlying resource has been closed and read/write operations have failed.
 
Icon for a close button
Event for telling a tool to close a program
A PasswordProvider that supplies passwords to decrypt files via the java jvm invocation.
The ThreadedTableModel does not correctly function with data that can change outside of the table.
CodeBlock represents some group of Instructions/Data.
A simple edge type for representing a link between two CodeBlock vertices.
CodeBlockImpl is an implementation of a CodeBlock.
An iterator interface over CodeBlocks.
An implementation of a CodeBlockModel will produce CodeBlocks based on some algorithm.
A CodeBlockReference represents the flow from one CodeBlock to another.
CodeBlockReferenceImpl implements a CodeBlockReference.
An iterator interface over CodeBlockReferences.
A class for representing a code block within a graph.
 
The CodeComparisonPanel class should be extended by any class that is to be discovered by the FunctionComparisonPanel class and included as a form of comparing two sections of code within the same or different programs
Action context for a CodeComparisonPanel.
 
Service provided by a plugin that gives access to a manager for the field formats used by a listing.
 
Class to manage database tables for data and instructions.
Represents a CS_BlobIndex structure
Class to parse Code Signature blobs
Represents a CS_BlobIndex structure
Represents a LC_CODE_SIGNATURE command.
Code Signature constants
Represents a CS_GenericBlob structure
Represents a CS_SuperBlob structure
Symbols that represent "labels" Symbol data usage: EXTERNAL: String stringData - external memory address/label
Interface common to both instructions and data.
 
 
This is a class with static methods for obtaining information about a code unit and its references.
Search filter that can test a search result and determine if that result starts at or inside a code unit that matches one of the selected types.
 
 
ShowBlockName defines the valid options for controlling the display of block names on labels.
ShowNamespace defines the valid options for controlling the display of name-spaces on labels.
Container object to keep a relative index, label, and comments.
Undoable edit for pasting code unit information at a location.
Defines data that is available for drag/drop and clipboard transfers.
Exception thrown when a code unit cannot be created.
Interface to define an iterator over over some set of code units.
Converts an AddressKeyIterator into a CodeUnitIterator
 
CodeUnitLocation provides information about the location in a program within a CodeUnit.
 
Change record generated when a property on a code unit changes.
Stores information about a code unit in a program.
 
A class that knows how to render CodeUnits in 1 or more lines
Renderer for CodeUnitTableCellDatas
Table column to display CodeUnits
 
Service provided by a plugin that shows the listing from a Program, i.e., a Code Viewer.
 
 
 
 
A class that represents a COFF archive file (ie.
 
 
 
 
 
 
 
 
 
The Machine field has one of the following values that specifies its CPU type.
 
CoffRelocationContext provide COFF relocation context data to be used by CoffRelocationHandler during processing of relocations.
An abstract class used to perform COFF relocations.
A class that gets the appropriate COFF relocation handler for a specific COFF.
A 0x28 byte COFF section header
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A collection of utility methods that prevent you from having to do unsafe casts of Collection classes due to runtime type erasure.
A container class to hold a color and a style value.
ThemeEvent for when a color changes for exactly one color id.
Color editor that is a bit unusual in that its custom component is a button that when pushed, pops up a dialog for editing the color.
 
 
Property Editor for Colors.
Functional interface to allow us to map a token to a color.
 
Class for sorting colors by rgb values.
 
Blender of colors
A class for storing Color values that have a String id (e.g.
Editor for Theme colors
A row in a grid.
 
A TableFilter that filters based on column values
ColumnConstraints are objects used to filter table rows based on values from a particular column.
Defines the contract for building user-interface elements for manipulating constraint configuration.
Extension point for introducing ColumnConstraints to the system.
This class maintains a collection of ColumnConstraint that are applied to a specific table column for filtering purposes.
Interface for providing column data and a table's DataSource to a constraint editor.
An interface that allows users to add columns to the TableChooserDialog.
 
Dialog for loading saved ColumnFilters.
This class provides all known ColumnConstraints for a given table column.
Dialog for creating and editing column table filters.
This class is for constructing and editing ColumnBasedTableFilter.
A class that manages column filters for a table.
Loads and Save a list of ColumnTableFilters for a specific table to the tool
This layout arranges components in columns, putting as many components as possible in a column and using as many columns as necessary.
A special version of the backup comparator that uses the column's rendered value for the backup sort, rather the just toString, which is what the default parent table model will do.
Not meant to be created by users.
 
ColumnConstraintTypeMappers allows columns of one type be filterable using an existing ColumnConstraint for a different type by defining a mapping from the column type to the desired filter type.
 
 
Table loader that performs a search and then combines the new results with existing results.
Combines multiple Table Filters into a single TableFilter that can be applied.
A pattern that has both an instruction part and non-instruction part
An enum of search results "combiners".
This value has been renamed to IMAGE_DIRECTORY_ENTRY_COMHEADER.
Interface to define a change made to a domain object.
Change record for comment changes
The CommentFieldLocation class contains specific location information within the COMMENTS field of a CodeUnitLocation object.
A handler to process CommentFieldLocation clicks.
Container class for information about changes to a comment.
 
 
Filters the given address iterator to only return addresses that have a comment of the given type
Filters the given codeUnit iterator to only return codeUnits that have a comment of the given type
Class with a convenience method to get an array of the CodeUnit comment types.
 
 
 
 
 
ComparisonData is an abstract of items that can be compared in a CodeComparisonPanel.
 
 
 
Interface for requesting specific information about the compiler used to build a Program being analyzed.
Labels for PrototypeModels that are used by default for various analysis/evaluation use-cases, when the true model isn't known.
 
Represents an opinion's compiler (gcc, borlandcpp, etc).
Exception class used when the named compiler spec cannot be found.
 
 
A complex number a + bi This doesn't support any actual operations, nor does it implement Comparable.
Provides a definition of a complex built-in data type consisting of two 64-bit floating point numbers in the IEEE 754 double precision format.
Provides a definition of a complex built-in data type consisting of two 128-bit floating point numbers in the IEEE 754 double precision format.
Provides a definition of a complex built-in data type consisting of two 32-bit floating point numbers in the IEEE 754 double precision format.
This command will organize a program tree into levels from the bottom up.
An interface to signal that the implementing action works with an individual Java Component.
Maintains a weak set of components associated with a given font id.
Diagnostic dialog for display information about the components in a window and related focus information.
Plugin to display information about components in the application
A listener interface to know when a component has been made displayable
 
Class to hold information about a dockable component with respect to its position within the windowing system.
Abstract base class for creating dockable GUI components within a tool.
An interface that enables callback when a ComponentProvider becomes activated or deactivated.
Extends the ComponentProvider to fit into the Plugin architecture by taking in a PluginTool which extends Tool.
 
A p-code userop library composed of other libraries
Interface for common methods in Structure and Union
 
An AttributedString that is composed of other AttributedStrings.
 
 
Common implementation methods for structure and union
A FieldElement that is composed of other FieldElements.
What: A cell renderer that will attempt to use any registered cell renderer and will otherwise default to the parent rendering implementation.
Used by the CParser to handle fields added to structures(composites).
Interface for common methods in Structure and Union
ComponentComparator provides ability to compare two DataTypeComponent objects based upon their ordinal.
OffsetComparator provides ability to compare an Integer offset with a DataTypeComponent object.
OrdinalComparator provides ability to compare an Integer ordinal with a DataTypeComponent object.
 
A TextField that takes in other TextFields.
Compound command to handle multiple background commands.
Implementation for multiple commands that are done as a unit.
Combines multiple Tasks into a single task.
A wrapper around another DWARFSectionProvider, this provider fetches DWARF section data that has been compressed and stored in sections in the underlying DWARFSectionProvider.
The emulator or a client attempted to concretize an abstract value
 
A listener set that is weakly consistent.
A queue for easily scheduling tasks to be run in parallel (or sequentially) via a thread pool.
A helper class to build up the potentially complicated ConcurrentQ.
A class which handles exceptions that occur off of the main test thread.
 
 
 
 
 
 
 
 
 
A model that provides access to table columns that are "configurable," whether by way of Settings object, or by the implementations and how they were written (like supplying custom renderers and such).
Panel that shows the current conflict number and the total number of conflicts.
ConflictInfoPanel appears above the 4 listings in the ListingMergeWindow.
Abstract class that should be implemented by the conflict panel that appears below the 4 listings in the merge window.
ConflictUtility provides some constants and static methods used by the Listing Merge portion of the multi-user merge.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Listener that is called when a string should be written to the console.
Generic console interface allowing any plugin to print messages to console window.
Handles monitor output to console
A generic text pane that is used as a console to which text can be written.
 
Class for manipulating "deferred" constant systems like the java virtual machine constant pool
 
Constants used in the data structures of the PE.
 
A constant value associated with an alwaysTrue pattern
A matcher for a given constant value
"Solves" constant expressions
Constraints are used to make decisions to traverse a decision tree where each node in the tree has a constraint that is used to decide if that node is part of the successful decision path.
Convenience class that converts XML attributes into typed property values.
Panel for display a single constraint entry within a column.
The primary sleigh concept representing a semantic action taking operands (semantic values) as input producing a semantic value as output matching a particular pattern printing in a certain way
An interface for visiting constructors in a SLEIGH language
Structure for collecting cached information about an instruction
 
 
A constructor template, representing the semantic action of a SLEIGH constructor, without its final context.
A placeholder for what will resolve to a field of a Varnode (an AddressSpace or integer offset or integer size) given a particular InstructionContext
Consume a parameter from a specific resource list Normally the resource list is determined by the parameter data-type, but this action specifies an overriding resource list.
Consume additional registers from an alternate resource list This action is a side-effect and doesn't assign an address for the current parameter.
See Apple's -- PEFBinaryFormat.h
A filter that will pass text when it contains the filter text.
 
NOTE: ALL ContentHandler implementations MUST END IN "ContentHandler".
A blocking/modal Ghidra URL content type discovery task
 
 
ContextChangeException indicates that an illegal change to program context has been attempted.
 
Swift ContextDescriptorKind values
ContextEvaluator provides a callback mechanism for the SymbolicPropogator as code is evaluated.
Default behavior implementation of ContextEvaluator passed to SymbolicPropogator Override methods to inspect context.
Contiguous bits in the non-instruction part of the context interpreted as an integer value
Indicates that the tagged field should be initialized with the value of the appropriate context object, either DataTypeMapper or StructureContext.
Solves expressions of a context register field
An operation on the context (bit-packed form) of an instruction
Pattern which depends only on the non-instruction stream bits of the context
Class for context configuration information as part of the compiler configuration (CompilerSpec)
This class is used simplify DockingAction logic for actions that work with specific ActionContext.
 
A ValueSymbol that gets its semantic value from contiguous bits in a VarnodeSymbol.
ControlFlowGuard is a platform security feature that was created to combat memory corruption vulnerabilities.
Helper methods for converting between number data types without negative promotion.
ConvertedRecordIterator provides a RecordIterator wrapper for performing record conversion frequently required when using older data.
 
 
 
Action converting the parameter's data-type to a pointer, and assigning storage for the pointer.
 
A feature representing 1 or more "stand-alone" copies in a basic block.
 
 
 
A dynamic data type that changes the number of elements it contains based on a count found in header data type.
Simple class used to avoid immutable objects and autoboxing when storing changing integer primitives in a collection.
 
Latch that has a count that can be incremented and decremented.
 
Token literal values and constants.
Token Manager.
 
 
 
 
 
 
Command to create an array.
Command to create an array inside of a structure.
This command will create a data of type dataType throughout an addressSet.
This command will create a data of type dataType at the given address.
Background command to create data across a selection inside of a structure.
Command to Create data inside of a structure.
Command to create a root in the program; the root module has fragments named the same as the memory blocks.
 
 
Command to create a folder in a program tree.
Command to create a Fragment.
Command for Creating a function at an address.
Command for creating a function definition data type based on the function signature for a function at an address.
Command for assigning a tag to a function
Command for Creating multiple functions from a selection.
This class attempts to create a namespace for each token in the provided string.
Command to create a String and optionally label it.
Command to create a structure.
Command to create a structure inside of another structure.
 
Command for creating a thunk function at an address.
 
 
Common interface for provider interfaces that provide crypto information.
 
A stub implementation of CryptoSession that relies on a parent instance.
Provides the caller with the ability to perform crypto querying operations for a group of related files.
Chooses a LoadSpec for a Loader to use based on a provided CompilerSpec.
The interface that clients must define to create a DecompilerHighlighter
 
A simple tracker of position in an object for that allows more specialized users to extend and add functionality.
This class allows us to change the renderer of the favorites tree.
Container object for a DataType and a byte array that is the format for the data type.
An Address based table model that allows clients to load their data via the TableModelLoader callback provided at construction time.
Extends the NimbusLookAndFeel (Nimbus) to intercept CustomNimbusLookAndFeel.getDefaults().
 
A custom OptionComponent that controls it's own display using the editor component of the given EditorState.
Marker interface to signal that the implementing PropertyEditor component desires to handle display editing of an option or options.
 
A custom Table of Contents view that we specify in our JavaHelp xml documents.
Our custom factory that knows how to look for extra XML attributes and how to create our custom tree items
A custom tree item that allows us to store and retrieve custom attributes that we parsed from the TOC xml document.
 
Class to define a set of dataTypes that a single action can cycle through.
Class with a utility function to calculate the cyclomatic complexity of a function.
Interface for interacting with data at an address in a program.
Holds options for the commands for creating new data structures.
Database facilitates the creation of a DBHandle for accessing a database.
DatabaseItem corresponds to a private or versioned database within a FileSystem.
Base class for an cached object in the database.
 
Collection of static functions for upgrading various database tables.
DatabaseUtils provides a collection of database related utilities.
Exception thrown if the database does not match the expected version of the program classes.
DataBuffer provides an accessible binary buffer for use with a BufferMgr and BufferFile.
DataBuffer provides an array like interface into a set of Data at a specific index.
ComparisonData for a Data object
Stateless helper classes with static singleton instances that contain methods to convert Java numeric types to and from their raw form in a byte array.
An abstract base class to represent the IMAGE_DATA_DIRECTORY data structure defined in winnt.h.
DataDirectoryException is thrown when a folder item can not be created because its associated data directory already exists.
DataFileHandle provides a random-access handle to a file.
DataFileItem corresponds to a private serialized data file within a FileSystem.
Converts a code unit iterator into a data iterator.
 
 
Represents a LC_DATA_IN_CODE command.
Represents a data_in_code_entry structure
Interface to define an iterator over over some set of Data.
 
Converts a DBLongIterator into a DataIterator
Abstract base class for constraint editors that load all the data in a column in order to initialize themselves.
Context mix-in interface that ActionContexts can implement if they can provide a list of Data object's ProgramLocation's.
 
DataOrganization provides a single place for determining size and alignment information for data types within an archive or a program.
Stores information about a data item in a program such that the data item can be retrieved when needed.
Converts a record iterator into a DataIterator.
Class to define reference types for data.
Service for creating data
A class data structures can use to delegate error handling responsibilities to system-level decision making.
DataStub can be extended for use by tests.
Table for managing rows and columns of data.
 
Tree that shows the folders and domain files in a Project
Manages Ghidra integration with the system clipboard when doing cut/copy/paste operations on domainFiles and domainFolders in a data tree widget.
Dialog to open or save domain data items to a new location or name.
Types of ways to use a DataTreeDialog.
 
Interface for classes that will handle drop actions for DataTrees.
The interface that all datatypes must implement.
This interface represents the main entry point into an object which stores all information relating to a single data type archive.
Interface to define event types and the method to generate an event within Program.
Interface for a data type archive change set.
DataTypeArchiveContentHandler converts between DataTypeArchive instantiations and FolderItem storage.
Database implementation for Data Type Archive.
 
 
Top level object that manages each step of the merge/resolve conflicts process.
 
Plugin that provides a merge component provider for data type archives.
A service that manages a set of data type archives, allowing re-use of already open archives.
DataTypeArchiveTransformer changes (transforms) a new archive file so that it appears to be an updated copy of a previously existing data type archive.
 
Interface for a Data Type Change set.
DataTypeCleaner provides a convenient way to clean composite definitions which may be included within a complex datatype which was derived from an source unrelated to a target DataTypeManager.
Converts DataType Column objects to Strings so that column gets String type column filters
DataTypeComparator provides the preferred named-based comparison of DataType which utilizes the DataTypeNameComparator for a primary name comparison followed by sub-ordering on DataTypeManager name and CategoryPath.
DataTypeComponents are holders for the dataTypes that make up composite (Structures and Unions) dataTypes.
Basic implementation of a DataTypeComponent
DataTypeConflictHandler provides the DataTypeManager with a handler that is used to provide a disposition when a datatype conflict is detected during DataTypeManager.resolve(DataType, DataTypeConflictHandler) processing.
ConflictResolutionPolicy indicates the conflict resolution policy which should be applied when any conflict is encountered
ConflictResult indicates the resolution which should be applied to a specific conflict
 
A plugin to show tool tip text for hovering over data types in the decompiler.
DataTypeDependencyException corresponds to a datatype dependency failure.
 
 
 
 
An interface that provides lines that are to be used in a diff and can also create specialized placeholder lines upon request.
 
The data model for DropDownSelectionTextField that allows the text field to work with DataTypes.
Exception thrown when a value cannot be encoded for a data type
A filter selecting a specific class of data-type.
Compares two DataType directed graphs, calling a method that can observe each DataType pair that occupy equivalent positions in each graph.
 
 
Base implementation for dataTypes.
 
An instance of a DataType that is applicable for a given context.
 
Interface for Managing data types.
The listener interface for notification of changes to a DataTypeManager
Adapter for a Category change listener.
Default implementation for a DataTypeManagerChangeListener that sends out the events to its own list of listeners.
Base class for DB-backed data type managers.
 
 
Service to provide list of cycle groups and data types identified as "favorites." Favorites will show up on the popup menu for creating data and defining function return types and parameters.
Information about StructureMapping classes and their metadata.
Context passed to StructureMapping logic when binding a structure's fields to a java class's fields.
Check if the function signature has a specific data-type in a specific position.
Manager for merging category and data type changes
The settings definition for the numeric display format
DataTypeNameComparator provides the preferred named-based comparison of DataType which handles both some degree of case-insensity as well as proper grouping and ordering of conflict datatypes.
 
DataTypeObjectComparator provides the preferred named-based comparison of data types using the DataTypeNameComparator allowing a mix of DataType and/or String names to be compared.
 
 
Object to hold a category path and a datatype name.
Interface for objects that can provide new instances of dataTypes
Simplified datatype service interface to provide query capabilities to a set of open datatype managers
A container class to hold information about a location that references a DataType.
An interface for extension points to implement.
A dialog that allows the user to choose from available data types or create new ones.
An editor that is used to show the DropDownSelectionTextField for the entering of data types by name and offers the user of a completion window.
This manager is responsible for reading and writing datatypes in XML.
 
Defines data that is available for drag/drop and clipboard transfers.
A class to produce and parse URLs of the form:
 
 
A class used to convert data types into ANSI-C.
 
ClearDataMode specifies how conflicting data should be cleared when creating/re-creating data
Holds options for controlling how validation is performed when determining whether or not to create data structures at a particular location.
Provides Date related column constraints.
Converts Date Column objects to LocalDate objects so that column gets LocalDate type column filters
Non-editable Editor for date and time; creates a text field for the string version of the date.
A constraint editor for specifying ranges of dates.
Creates a component for editing Dates using a formated textfield and a Jspinner.
 
A constraint editor for specifying comparison with a single Date value.
DBBuffer facilitates synchronized access to a ChainedBuffer.
DBChangeSet facilitates the reading and writing of application level change data associated with BufferFile.
DBContentHandler provides an abstract ContentHandler for domain object content which is stored within a database file.
Interface to get a field adapter where the Field is the primary key in the table.
DBFieldIterator provides the ability to iterate over Field values within a table.
DBFileListener facilitates listener notification when new database versions are created.
An opinion service for processing Microsoft DBG files.
A debugging, timing, and diagnostic tool
A context for idiomatic use of the DbgTimer in a try-with-resources block
A (rather slow) output stream that indents every line of its output
DBHandle provides access to an open database.
 
Adapter to get an iterator over keys in a table.
Database Listener.
DBLongIterator provides the ability to iterate over long values within a table.
Generic cache implementation for objects that extend DatabaseObject.
Manages generic address keyed properties.
Record provides a portable container for data associated with a fixed schema.
Interface to get a record iterator.
 
DBStringMapAdapter provides a simple string-to-string map backed by a named database table.
 
 
DBContentHandler provides an abstract ContentHandler for domain object content which is stored within a database file.
The default plugin package provider that uses the PluginsConfiguration to supply packages
A class to represent the code view debug information.
Constants defined in Code View Debug information.
A class to represent the Object Module Format (OMF) code view symbol table.
A class to represent the COFF Line number data structure.
A class to represent the COFF symbol data structure.
A class to represent the COFF Auxiliary Symbol data structure.
 
 
 
A class to represent the COFF Symbols Header.
A class to represent the COFF Symbol Table.
Points to an array of IMAGE_DEBUG_DIRECTORY structures.
A class to represent the Debug Directory data structure.
A helper class to parsing different types of debug information from a debug directory
A possible implementation of the FIXUP debug directory.
A possible implementation of the FIXUP debug directory elements.
Parses the exception handling structures within a '.debug_frame' memory section, which contains call frame debugging information.
A DWARF Debug Info Entry is a collection of attributes in a hierarchical structure (see DebugInfoEntry.getParent(), DebugInfoEntry.getChildren()).
A class to represent the IMAGE_DEBUG_MISC struct as defined in winnt.h.
 
A feature extracted from a function, with an additional description of what information is incorporated into the feature.
 
 
A base class for Object Module Format (OMF) symbols.
 
 
Result object from getting values that match the constraints for given test object.
A node in a decision tree.
A node in the decision tree for resolving a Constructor in a SubtableSymbol based on the InstructionContext
The result object returned from a scan of a decision tree looking for property values that match the constrains for some test object.
A decisionTree is used to find property values that are determined by traversing a tree of constraints.
Container for information about a Declaration that is accumulated during parsing.
 
An interface for reading structured data from a stream All data is loosely structured as with an XML document.
Exception thrown for errors decoding decompiler objects from stream
Routines that the decompiler invokes to gather info during decompilation of a function.
Data returned for a query about strings
A callback interface that will be given a newly created DecompInterface to configure.
 
A container for collecting communication between the decompiler and the Ghidra database, as serviced through DecompileCallback during decompilation of a function.
A class to hold pieces of a decompiled function.
An exception from (or that has passed through) the decompiler process
Configuration options for the decompiler This stores the options and can create an XML string to be sent to the decompiler process
 
 
 
 
 
 
Class for communicating with a single decompiler process.
 
Factory that returns a DecompileProcess.
An implementation of QCallback that performs the management of the DecompInterface instances using a Pool.
 
 
A class to perform some of the boilerplate setup of the ConcurrentQ that is shared amongst clients that perform decompilation in parallel.
Coordinates the interactions between the DecompilerProvider, DecompilerPanel, and the DecompilerManager
 
Class for getting at the various structures returned by the decompiler.
 
 
The highlighter interface passed to clients of the DecompilerHighlightService.
A service that allows clients to create highlights in the form of background colors for ClangTokens in the Decompiler UI.
 
 
 
Sources languages that can be output by the decompiler
 
Manages the threading involved with dealing with the decompiler.
 
A provider of a margin Swing component
A service that allows clients to add custom margins in the Decompiler UI.
Class to handle the display of a decompiled function
 
 
Listener of Program events for decompiler panels.
 
 
 
This is a self-contained interface to a single decompile process, suitable for an open-ended number of function decompilations for a single program.
 
 
The default implementation of ActionContext
Keeps track of all the Address spaces in the program and provides methods for parsing address strings.
 
 
 
A AssemblyResolution indicating the need to solve an expression in the future
A AssemblyResolution indicating the occurrence of a (usually semantic) error
A AssemblyResolution indicating successful application of a constructor
 
DefaultCheckinHandler provides a simple check-in handler for use with DomainFile.checkin(CheckinHandler, ghidra.util.task.TaskMonitor)
 
A color provider that returns a specific color.
A column comparator that is used when columns do not supply their own comparator.
 
Provides an implementation of a byte that has not been defined yet as a particular type of data in the program.
 
 
The default implementation of Emulator.
A file descriptor associated with a file on a simulated UNIX file system
 
Uses Java's default focus manager to provide the focus owner.
 
DefaultGhidraProtocolConnector provides support for the Ghidra URL protocol without extension for accessing the legacy Ghidra Server over an RMI interface.
DefaultGhidraProtocolHandler provides the default protocol handler which corresponds to the original RMI-based Ghidra Server and local file-based Ghidra projects.
Empty implementation of GraphDiaplayOptions.
 
 
 
Property manager that deals with properties that are of int type.
Default Language service used gather up all the languages that were found during the class search (search was for language providers)
DefaultLaunchMode provides an Options value which indicates how a default tool launch should be performed.
DefaultLocalGhidraProtocolConnector provides support for the Ghidra URL protocol which specifies a local Ghidra project without extension.
All storage/state for a pcode emulator machine Every piece of information in a pcode emulator machine is representable as a triple (AddressSpace,offset,size).
 
A p-code executor state formed from a piece whose address and value types are the same
The default implementation of PcodeThread suitable for most applications
A userop library exporting some methods for emulated thread control
An executor for the p-code thread
The default plugin installer that uses a tool to install plugins
A configuration that includes all plugins on the classpath.
 
Implementation for a Project.
Helper class to manage files within a project.
Implementation for a ProjectManager; creates, opens, and deletes Projects.
PropertyMap is used to store values for a fixed property at address locations given as longs.
A location used to represent a an edge case where not suitable location can be found and the client does not wish to return null.
 
Default implementation of the SearchListModel.
A set of built-in SolverHints
 
 
A renderer for clients that wish to display a Date as a timestamp with the date and time.
 
 
A default VisualGraph that implements basic setup for things like event processing.
Iterator that visits each defined data instance in the initialized memory of a Program or in the footprint of a specified data element.
 
A Loader for processing Microsoft DEF files.
Points to the delayload information.
A class to represent the ImgDelayDescr data structure defined in DELAYIMP.H.
Command that runs in the background to delete a memory block, as the delete may be a time consuming operation.
Listener that is notified when the DeleteBlockCmd completes.
Exception thrown when program object being accessed has been deleted.
Command for clearing a function at an address.
Command for deleting a tag from the system
Command to delete a label
Task for recursively deleting project files from a Ghidra project
An action to delete data from a table.
An action to delete from the cursor position to the end of the current word.
An action to delete from the cursor position to the beginning of the current word, backwards.
Delete a tree in the program.
Command for deleting a variable in a function.
A unifying top-level interface for all DemangledObjects and DemangledTypes
 
A class to represent a demangled data type.
A class to handle exceptions that occur demangling.
A class to represent a demangled function.
A class to represent a demangled function indirect.
A class to represent a demangled function pointer
A class to represent a demangled function reference
A class to represent a DemangledObject that should get represented as a Ghidra label
Represents a demangled lambda function
An convenience Demangled object that holds a List of other Demangled objects
Represents a plain namespace node that is not a type or method
A class to represent a demangled object.
A class to represent a demangled function parameter.
 
A class to represent a demangled structure
A field of a DemangledStructure
 
 
Represents a demangled string.
An interface to represent an unknown entity that we are demangling.
An interface to represent a demangled global variable.
NOTE: ALL DEMANGLER CLASSES MUST END IN "Demangler".
 
A simple class to contain the various settings for demangling
 
Original Dependency Graph implementation that uses HashMaps and HashSets.
Implements an iterator over all GTreeNodes in some gTree (or subtree).
Deprecated.
Processes the given graph depth first and records that order of the vertices.
A context utility allowing stack management via a try-with-resources block
LazyImageIcon that is created from an Icon or an Image
Dependency Graph that uses TreeMaps and ListOrderedSets to provide determinism in pulling (AbstractDependencyGraph.pop()) from the graph.
 
Base class used for creating dialogs in Ghidra.
 
This class represents an "or'able" condition in the DialogFilterConditionSet
This class represents the set of "or-able" filter conditions for a single column.
This class represents a major "and-able" row in the dialog's filter panel.
Helper class to manage actions for saving and exporting the tool
ProjectDataCollapseAction configured to work in the frontend.
ProjectDataExpandAction configured to work in the frontend.
ProjectDataNewFolderAction configured to work in the frontend.
Context specific to the DataTreeDialog.
Instances of this type are used to add a checkBox to a Dialog so that the dialog results can be saved and reused in future uses of that dialog (e.g., "Apply to all", "Remember my decision").
 
Toolbar buttons for Dialogs.
DIEAggregate groups related DebugInfoEntry records together in a single interface for querying attribute values.
A class that holds lines that will be used to generate diffs.
The DiffUtility class provides static methods for getting and creating an object in one program based on an object from another program.
Dijkstra's shortest-path algorithm
Deprecated.
 
A factory to create JLayer instances to provide the L&F and functionality of a disabled panel -- the component assumes a disabled color, and selection via mouse and keyboard is prevented.
LazyImageIcon that creates a disabled version of an icon
Deprecated, for removal: This API element is subject to removal in a future version.
This class has been replaced by DisabledImageIcon since it extends ImageIconWrapper which has also been deprecated.
Action for disabling a field.
Attempt to disambiguate similar n-grams by hashing over all the bytes in their constituent instructions.
Attempt to disambiguate similar n-grams by looking at the children of blocks containing the n-grams
Attempt to disambiguate similar n-grams by looking at the parents of blocks containing the n-grams
Attempt to disambiguate similar n-grams by looking at the parents, AND siblings, of blocks containing the n-grams.
 
Command object for performing disassembly
Class to perform disassembly.
 
 
 
Maintains processor state information during disassembly and analysis.
Interface for reporting disassembly messages
AddressCorrelators that want to be discovered by version tracking should implement this interface.
Abstract base class for built-in GThemes.
 
A pattern with no ORs in it
 
 
An interface used by classes to indicate that they can produce a String representation that is meant to be seen by the user in the UI.
 
A pattern of bits/mask to match to a stream of bytes.
Form new expression by dividing one PatternExpression by another
Solves expressions of the form A / B
DividerLocation provides information about the location (within a program) of an object that represents some kind of a separation.
 
Wrapper class for user components.
Component for providing component titles and toolbar.
 
DockingAction defines a user action associated with a toolbar icon and/or menu item.
The base interface for clients that wish to create commands to be registered with a tool.
A simple listener interface to notify clients of changes to key strokes and mouse bindings.
A simple class to handle executing the given action.
Deprecated, for removal: This API element is subject to removal in a future version.
use Tool
 
 
 
Overrides the painting behavior of the BasicCheckBoxMenuItemUI
A listener to be notified when the tool's context changes.
 
 
Base frame used by the root window and detached windows
An extension of the GHelpBroker that allows Docking classes to be installed.
An extension of the GHelpSet that allows Docking classes to be installed.
A class that can be used as an interface for using actions associated with keybindings.
 
This class exists to make menu items display content with proper alignment whether or not they are displaying an icon.
 
 
 
A class for using actions associated with mouse bindings.
A widget that can be used to render an icon, title and close button for JTabbedPane.
Represents the collection of actions registered with the tool, along with method for adding and removing actions.
An interface to house constants used by the Tool
Notes about how to use HTML safely:
A callback to operate on a component
Specifies the order of component traversal
Controls traversal and communicates cause for termination
A VisualVertex implementation that provides a component with a docking header that is clickable.
 
Manages the "Docking" arrangement of a set of components and actions.
This class mainly serves as a conduit through which testing code can access some of the non-public internals of DockingWindowManager, without opening up its interface to the public and without using reflective magic.
 
Debug Plugin to show domain object change events.
DomainFile provides a storage interface for project files.
Extends DataTypeManager to provide methods specific to a data type manager stored as a domain file.
A context that provides information to actions about domain files that are selected in the tool
Interface to indicate whether a domain file should be included in a list or set of domain files.
 
Class to represent a node in the Data tree.
 
Implements the DomainFile interface for DomainObjects that are not currently associated with any real DomainFile.
 
 
DomainFolder provides a storage interface for project folders.
Methods for notifications when changes are made to a domain folder or a domain file.
 
 
Adapter for the domain folder change listener.
Class to represent a node in the Data tree.
An Option used to specify a DomainFolder
 
DomainObject is the interface that must be supported by data objects that are persistent.
An abstract class that provides default behavior for DomainObject(s), specifically it handles listeners and change status; the derived class must provide the getDescription() method.
Database version of the DomainObjectAdapter.
An event indicating a DomainObject has changed.
Information about a change that was made to a domain object.
Interface for a domain object change set.
An interface that allows for a callback when a DomainObject is closed.
DomainObjectDBChangeSet extends DBChangeSet providing methods which facilitate transaction synchronization with the domain object's DBHandle.
 
Basic event types for all Domain Objects.
Class for providing unique, compact ids for domain object event types.
DomainObjectException provides a general RuntimeException when a catastrophic error occurs which may affect the integrity of a domain object such as an IOException.
Listener for when the DomainFile associated with a DomainObject changes, such as when a 'Save As' action occurs.
The interface an object must support to be registered with a Domain Object and thus be informed of changes to the object.
Builder for creating a compact and efficient DomainObjectListener for DomainObjectChangedEvents
Thrown when a method fails due to a locked domain object.
An interface to allow merging of domain objects.
Simple interface for getting a DomainObject.
this code will apply the Dominance algorithm to a module or fragment in a program tree.
DominantPair is a pair where the key is responsible for equality and hashCode (and the value of the pair doesn't matter at all).
Deprecated, for removal: This API element is subject to removal in a future version.
Editor for constraints that don't have a value that needs editing.
This class represents the IMAGE_DOS_HEADER struct as defined in winnt.h.
Array of doubles that grows as needed.
Array of double[] that grows as needed.
This class provides a storage mechanism for double-valued information about the elements of a KeyIndexableSet, e.g.
Provides a definition of a complex built-in data type consisting of two double point numbers in the IEEE 754 double precision format.
Provides a definition of a Double within a program.
A constraint editor for specifying ranges of floating-point numbers (Float and Double)
Value class for Double types.
A constraint editor for specifying comparison with a single floating-point value (Float and Double).
Interface used by the DragDropTree to know how to handle the drag and drop operations.
Defines a node that is in the DragDropTree.
A listener for tables that support drag and drop operations.
Defines data that is available for drag/drop and clipboard transfers.
Interface to define a drag source.
This class receives notification when the user initiates a drag and drop operation; it is responsible for getting the Transferable and telling the DragSource to start the drag.
Adapter class that receives notifications in order to provide drag over effects.
Icon for a drop down menu button (triangle pointing down)
Listener called when the user makes a selection on the DropDownMultiSelectionTextField.
Extension of the DropDownSelectionTextField that allows multiple items to be selected.
A listener that is called when the user makes a selection from the DropDownSelectionTextField (e.g., they click an item or press enter on a selected item and the matching window is closed).
A text field that handles comparing text typed by the user to the list of objects and then presenting potential matches in a drop down window.
A text field that handles comparing text typed by the user to the list of objects and then presenting potential matches in a drop down window.
This interface represents all methods needed by the DropDownSelectionTextField in order to search, show, manipulate and select objects.
Methods called by the DropTargetAdapter that implements the DropTargetListener interface
 
A factory for installing drop handlers onto components.
A basic interface for holding onto drop handlers
Class to handle notifications of drag and drop operations that occur on the DropTarget object.
Fetches DWARF section data for a MachO program with co-located .dSYM folder.
DumbMemBufferImpl extends MemoryBufferImpl with an internal cache buffer size of 16-bytes but will use the underlying memory if needed.
A utility class to help create dummy stub functional interfaces
The dummy application layout defines the customizable elements of a dummy application's directory structure.
A TaskMonitorAdapter that is cancellable.
An editor that is always invalid.
Generates Dummy Fields.
 
 
Dummy action attached to a match sequence.
 
Class for holding two objects of the same type.
 
 
 
 
DuplicateFileException is thrown whenever a file or folder can't be created because one with that name already exists at the same location.
DuplicateGroupException is thrown when a fragment or child is added to a module and that fragment or module is already a child.
Exception thrown whenever a method tries give something a name and that name is already used.
This class represents the 'schema' for a DWARF DIE record.
DWARF accessibility consts from www.dwarfstd.org/doc/DWARF4.pdf
Header at the beginning of a address list table
Defines the names and numeric ids of known DWARF attributes.
Represents how a specific DWARF attribute is stored in a DIE record.
Categories that a DWARF attribute value may belong to.
Information about a single DWARF attribute, as specified in a abbreviation.
Base class for all DWARF attribute value implementations.
DWARF attribute with binary bytes.
DWARF boolean attribute.
An opcode parser for operands of a call frame instruction.
DWARF child determination consts from www.dwarfstd.org/doc/DWARF4.pdf.
A DWARF CompilationUnit is a contiguous block of DIE records found in a .debug_info section of an program.
Logic to test if a Data instance is replaceable with a data type.
This conflict handler attempts to match conflicting composite data types (structure or union) when they have compatible data layouts.
Creates Ghidra DataTypes using information from DWARF debug entries.
Manages mappings between DWARF DIEs and Ghidra DataTypes.
Organizational class to record vital data used by a DwarfEHDecoder.
Generate instances of DwarfEHDecoder suitable for various pointer-encodings.
DWARF string attribute, where getting the value from the string table is deferred until requested for the first time.
An application mode for encoded exception handling data.
Exception handling data decoding formats.
Decodes a sequence of program bytes to Ghidra addressing types.
DWARF attribute encoding consts from www.dwarfstd.org/doc/DWARF4.pdf
A data type whose value is a particular Dwarf decoder.
DWARF Endianity consts from www.dwarfstd.org/doc/DWARF4.pdf
 
A DWARFExpression is an immutable list of operations and some factory methods to read an expression from its binary representation.
Evaluates a subset of DWARF expression opcodes.
 
A exception that is thrown when dealing with DWARF expressions or when they are evaluated.
DWARF expression opcode consts from www.dwarfstd.org/doc/DWARF4.pdf
Enumeration that represents the different type of operands that a opcode can take.
The result of executing a DWARFExpression with a DWARFExpressionEvaluator.
 
DWARFFile is used to store file or directory entries in the DWARFLine.
DWARF attribute encodings.
Context given to the DWARFForm.readValue(DWARFFormContext) method to enable it to create DWARFAttributeValues.
Represents a function that was read from DWARF information.
 
Interface for add-in logic to fix/modify/tweak DWARF functions before they are written to the Ghidra program.
Iterates through all DIEAs in a DWARFProgram and creates Ghidra functions and variables.
DWARF identifier case consts from www.dwarfstd.org/doc/DWARF4.pdf
Performs a DWARF datatype import and a DWARF function import, under the control of the DWARFImportOptions.
Import options exposed by the DWARFAnalyzer
Information about what actions were performed during a DWARF import.
DWARF numeric attribute value that is an index into a lookup table
Handles a grouping of DWARFIndirectTableHeaders that specify how to look up a certain type of item (per CU).
 
Common base functionality of indirect table headers (DWARFAddressListHeader, DWARFLocationListHeader, etc)
DWARF inline encodings from www.dwarfstd.org/doc/DWARF4.pdf
A tuple of length (of a thing in a dwarf stream) and size of integers used in the dwarf section.
A structure read from .debug_line, contains indexed source filenames as well as a mapping between addresses and source filename and linenumbers.
 
Represents an identifier of a value in a DWARFLine/DWARFFile object.
Defines a DWARFLineContentType attribute value.
 
 
 
Handles executing, step-by-step, the address-to-sourcefile mapping instructions found at the end of a DWARFLine structure.
 
 
Represents the location of an item that is only valid for a certain range of program-counter locations.
A collection of DWARFLocation elements, each which represents a location of an item that is only valid for a certain range of program-counter locations.
 
Header found at the start of a set of DWARFLocationList entries, which are stored sequentially in the .debug_loclists section.
A immutable hierarchical path based name implementation that can be viewed as either namespaces or categorypaths.
DWARF numeric attribute.
DWARFProgram encapsulates a Ghidra program with DWARF specific reference data used by DWARFDataTypeImporter and DWARFFunctionImporter, along with some helper functions.
Holds the start (inclusive) and end (exclusive, 1 past the last included address) addresses of a range.
Represents a list of DWARFRanges.
DWARF Range List Entry id
Header found at the start of a set of DWARFRangeList entries, which are stored sequentially in the .debug_rnglists section.
Immutable mapping information between DWARF and Ghidra.
Factory class to instantiate and cache DWARFRegisterMappings objects.
 
A DWARFSectionProvider is responsible for allowing access to DWARF section data of a Ghidra program.
Auto-detects which DWARFSectionProvider matches a Ghidra program.
Represents the filename and line number info values from DWARF DIEs.
DWARF source lang consts from www.dwarfstd.org/doc/DWARF4.pdf.
DWARF string attribute.
Table of offsets that point into the string table.
Identifier/purpose of a DWARF DIE record.
The base class for a set of headers that share a common field layout.
 
 
Represents a function's parameter or local variable; or a global variable.
Provides a definition of a Double Word within a program.
 
Represents a dyld_cache_accelerator_info structure.
Represents a dyld_cache_accelerator_dof structure.
Represents a dyld_cache_accelerator_initializer structure.
Represents a dyld_cache_header structure.
A convenience interface for getting the address and path of a DYLD Cache image
Represents a dyld_cache_image_info structure.
Represents a dyld_cache_image_info_extra structure.
Represents a dyld_cache_image_text_info structure.
A Loader for DYLD shared cache files.
Represents a dyld_cache_local_symbols_entry structure.
Represents a dyld_cache_local_symbols_info structure.
Represents a dyld_cache_mapping_and_slide_info structure.
Represents a dyld_cache_mapping_info structure.
Options from the DyldCacheLoader
Builds up a DYLD Cache Program by parsing the DYLD Cache headers.
Represents a dyld_cache_range_entry structure.
Represents a dyld_cache_slide_info structure.
Represents a dyld_cache_slide_info2 structure.
Represents a dyld_cache_slide_info3 structure.
Represents a dyld_cache_slide_info4 structure.
Represents a dyld_cache_slide_info5 structure.
Class for representing the common components of the various dyld_cache_slide_info structures.
Utilities methods for working with Mach-O DYLD shared cache binaries.
Class to store a "split" DYLD Cache, which is split across several subcache files (base file, .1, .2, .symbols, etc).
Represents a dyld_chained_fixups_header structure.
 
Represents a dyld_chained_fixups_command structure
Represents a dyld_chained_import structure.
Represents a dyld_chained_import array.
 
 
Represents a dyld_chained_starts_in_image structure.
Represents a dyld_chained_starts_in_segment structure.
Represents a dyld_chained_starts_offsets structure.
Represents a dyld_chained_starts_offsets structure.
Represents a LC_DYLD_EXPORTS_TRIE command
Stores information needed to perform a dyld pointer fixup
Represents a dyld_info_command structure
 
Represents a dyld_subcache_entry structure.
A DataType class that must compute its length based upon actual data.
Marks this model as one that is column-based, using DynamicTableColumns.
Interface for dataTypes that don't get applied, but instead generate dataTypes on the fly based on the data.
A HighSymbol mapping based on local hashing of the symbol's Varnode within a function's syntax tree.
A hash utility to uniquely identify a temporary Varnode in data-flow Most Varnodes can be identified within the data-flow graph by their storage address and the address of the PcodeOp that defines them.
Represents a dylib structure.
Represents a dylib_command structure
 
Represents a dylib_reference structure.
Represents a dylinker_command structure
DynamicReference is a dynamically determined reference which may not be explicitly added, deleted or modified
Represents a dysymtab_command structure.
 
The root interface for defining columns for DynamicColumnTableModels.
NOTE: ALL DynamicTableColumnExtensionPoint CLASSES MUST END IN "TableColumn".
 
 
Service that provides Eclipse-related functionality.
Deprecated.
GraphActionContext for when user invokes a popup action on a graph edge.
 
 
Provides notification when a text edit is completed.
 
Class used by some generic constraints to fulfill their requirement to provide and editor.
 
 
Command to change the reference type of a memory reference
Parses the exception handling structures within an '.eh_frame_hdr' memory section; contains the frame header record and the FDE table.
Parses the call frame information exception handling structures within an '.eh_frame' memory section.
An annotation for a specific collection of hierarchical data This record parallels the XML concept of an element.
 
 
An Elf section that contains null-terminated strings, typically added by the compiler to the binary
Header at the beginning of an ELF compressed section.
A collection of constants used in the ELF header.
 
ElfDefaultGotPltMarkup provides the legacy/default implementation of ELF GOT/PLT processing which handles a limited set of cases.
A class to represent the Elf32_Dyn data structure.
If an object file participates in dynamic linking, its program header table will have an element of type PT_DYNAMIC.
 
 
An exception class to handle encountering invalid ELF Headers.
 
 
 
A class to represent the Executable and Linking Format (ELF) header and specification.
Interface and helper functions to read and markup things that have been read from an Elf program.
 
 
Something that adds nice-to-have markup and program info to Elf binaries.
ElfLoadAdapter provides the base ELF load adapter implementation which may be extended to facilitate target specific behavior.
A Loader for processing executable and linking files (ELF).
 
ElfLoadHelper exposes loader methods useful to ElfExtension implementations.
ELF note sections have a well-defined format that combines identity information along with a binary blob that is specific to each type of note.
 
An executable or shared object file's program header table is an array of structures, each describing a segment or other information the system needs to prepare the program for execution.
 
 
A class to represent the Elf32_Rel and Elf64_Rel data structure.
ElfRelocationContext provides a relocation handler context related to the processing of entries contained within a specific relocation table.
NOTE: ELF relocation handler implementations should extend AbstractElfRelocationHandler which now uses ElfRelocationType enum values instead of simple constants.
 
A container class to hold ELF relocations.
 
 
A class to represent the Elf32_Shdr data structure.
 
 
 
A class to represent the ELF 32bit and 64bit Symbol data structures.
A container class to hold ELF symbols.
Implementation for an AddressIterator that is empty.
Implementation for an AddressIterator that is empty.
 
Class that is a JButton that has an empty border and adds a mouse listener so that the button looks raised when the mouse pointer enters the button, and looks lowered when the mouse pointer exits the button.e
 
A ByteProvider that has no contents.
Implementation for an empty AddressableByteSource
CodeUnitIterator that represents an empty set of codeunits.
 
Exception thrown if the composite data type is empty.
 
 
 
Default GraphType implementation that has no vertex or edge types defined
 
 
 
 
Table loader for clearing the existing results
Used as proxy for a null value.
Implementation of a RecordIterator that is always empty.
A Text field that is blank.
 
An empty implementation of the ThreadedTableModel.
 
The content store to back a simulated file
The emulated program invoked a system call incorrectly
The simulated system interrupted with an I/O error
 
 
 
EmulateInstructionStateModifier defines a language specific handler to assist emulation with adjusting the current execution state, providing support for custom pcodeop's (i.e., CALLOTHER).
MemoryStateBuffer provides a MemBuffer for instruction parsing use which wraps an emulator MemoryState.
The emulator interface
 
This is the primary "entry point" for using an Emulator.
 
 
 
A system call library simulating Linux for amd64 / x86_64
A system call library simulating Linux for x86 (32-bit)
A simulated process (or thread group) has exited
A library of system calls
The definition of a system call
The EmuSyscallLibrary.syscall(PcodeExecutor, PcodeUseropLibrary) method wrapped as a userop definition
A p-code execution exception related to system simulation
An exception for errors within UNIX sytem call libraries
A simulated UNIX file
A process's handle to a file (or other resource)
Collects the stat fields common to UNIX platforms
A simulated UNIX file system
Open flags as defined by the simulator
A simulated UNIX user
Action for enabling disabled fields
An interface for writing structured data to a stream The resulting encoded data is structured similarly to an XML document.
Represents an encryption_info_command structure
Handles the actions required when the user presses the 'end' key; this moves the viewport to the bottom of the file.
 
Column for the ProjectDataTable (Frontend) to display the endianness of a program.
SettingsDefinition for endianness
The integer offset of the address following the current instruction
"Solves" expressions of inst_next
 
Symbol with semantic value equal to offset of address immediately after current instruction
 
 
 
 
 
A class to represent a new-executable entry point.
Represents a Swift entry point
Represents an entry_point_command structure
Reference object for entry points
A class to represent a new-executable entry table.
A class to represent a new-executable entry table bundle.
 
Column Constraint where acceptable column values are Enum values that match one of a set of selected values from the Enum.
A constraint editor for enumerated-type values;
 
 
 
Interface for a SettingsDefinition with enumerated values.
Keeps track of the signed state of an enum datatype.
This is a static utility class used to partition a set of long values into as many non-intersecting BitGroups as possible.
Indicates that the tagged field should have an "end-of-line" comment placed at each instance of the field, using the return value of a getter method for the field or the return value of a specified method as the string.
Generates End of line comment Fields.
The EolCommentFieldLocation class contains specific location information within the EOL comment field of a CodeUnitLocation object.
Utility class with methods to get comment information that can be displayed in the end of line comment field.
This table column displays the Label for either the program location or the address associated with a row in the table.
 
An option class that is used by the EolExtraCommentsPropertyEditor to load and save option settings.
 
A pattern with no semantic or printing content, that will match any pattern.
An Equate associates a string with a scalar value in the program, and contains a list of addresses and operand positions that refer to this equate.
Database object for an Equate.
Class to hold information about an Equate; it is used in a ProgramChangeRecord when an equate is created and when references to the Equate are updated.
Implementation of the Equate Table
A simple version of OperandFieldLocation that allows us to store equate information.
Interface to define an equate reference.
 
EquateTable manages all equates for program.
 
A dialog that takes error text and displays it with an option details button.
 
 
A handler to process ErrorListingField clicks.
Report database errors.
 
 
 
 
 
Plugin to demonstrate handling of Program within a plugin and how to set up the list of consumed plugin events.
Helper class to manage the events that plugins consume and produce.
 
This class is used to provide information regarding the source of an event.
Interface for objects that represent event types.
 
 
 
 
A generic functional interface that is more semantically sound than Runnable.
A generic functional interface that allows you to consume an item and potentially throw an exception.
A generic functional interface that allows you to consume an item, return a result, and potentially throw an exception.
A generic functional interface that is more semantically sound than Runnable.
 
Generic Exception class for classes contained in the ehFrame package
This class represents an Exception Handler Frame Header.
 
 
 
 
 
 
 
 
An annotation for experimental things
This class allows clients to run swing action at some point in the future, when the given condition is met, allowing for the task to timeout.
A class to represent the IMAGE_EXPORT_DIRECTORY data structure defined in winnt.h.
See Apple's -- PEFBinaryFormat.h
See Apple's -- PEFBinaryFormat.h
See Apple's -- PEFBinaryFormat.h * Exported Symbol Hash Key
The interface that all exporters must implement.
 
 
A class to hold the information extracted from a export data directory.
Dialog for exporting themes to external files or zip files.
Mach-O export trie
 
 
A matcher for a form of patten expression
A context for defining expression matcher succinctly
 
 
 
A class for accessing a contiguous sequence of bytes from some underlying byte source to be used for searching for a byte pattern within the byte source.
Representation of a Ghidra extension.
A convenience implementation of FileFilter that filters out all files except for those type extensions that it knows about.
Utility class for managing Ghidra Extensions.
A class loader used with Ghidra extensions.
NOTE: ExtensionPoint logistics have changed! It is no longer sufficient to implement ExtensionPoint in order for the ClassSearcher to dynamically pick up your class.
ExtensionPoint properties
Utility methods for working with ExtensionPointProperties
A collection of all extensions found.
Container for the GTable that displays ghidra extensions.
Component Provider that shows the known extensions in Ghidra in a GTable.
Utilities for finding extensions.
ExternalConflictInfoPanel appears above the 4 listings in the ListingMergeWindow.
A DWARFSectionProvider that reads .debug_info (and friends) sections from an external ELF file that is referenced in the original ELF file's build-id or debuglink sections.
A collection of search locations that can be queried to find a DWARF external debug file, which is a second ELF binary that contains the debug information that was stripped from the original ELF binary.
Metadata needed to find an ELF/DWARF external debug file, retrieved from an ELF binary's ".gnu_debuglink" section and/or ".note.gnu.build-id" section.
Command for setting/unsetting an external entry point.
Class for merging external function and label changes.
 
Analog to LanguageCompilerSpecQuery, for use with querying External Languages.
ExternalLocation defines a location within an external program (i.e., library).
 
 
Iterator interface for external locations.
External manager interface.
Manages the database for external references.
 
Plugin event that is generated when a tool receives an external ProgramLocationToolEvent.
Manages external program name changes and conflicts between the latest versioned program and the modified program being checked into version control.
Plugin event generated when a tool receives an ProgramSelectionToolEvent; the selection in the external tool has changed.
Interface for references to external locations.
Plugin event used to navigate to a location in another program when following a external reference.
ExternalsAddressTranslator is a translator that can be used for merging external functions and labels.
Moves dangling external function symbols found in the EXTERNAL/UNKNOWN namespace into the namespace of the external library that publishes a matching symbol.
A simple interface that can build, lookup or otherwise return a value V for a key K.
A DataType class that creates data types dynamically should implement this interface.
Abstract class used to create specialized data structures that act like a Structure and create a new Dynamic structure each time they are used.
TripleSymbols whose semantic value and printing changes depending on the pattern that they match
Represents a fat_arch structure.
Represents a fat_header structure.
An InputStream wrapper that suppresses any IOExceptions thrown by the wrapped stream and starts returning 0 value bytes for all subsequent reads.
Class that builds the Frame Description Entry (FDE) Table for a Common Information Entry (CIE).
An input stream that wraps a native POSIX file descriptor
An output stream that wraps a native POSIX file descriptor
Field is an abstract data wrapper for use with Records.
Interface for display fields used by the FieldPanel
 
Interface for classes that manage the background color of fields.
Context of an individual field that is being deserialized, or being markedup.
Provides descriptions for fields in a field panel
Represents a Swift FieldDescriptor structure
Used by Fields to combine text, attributes and location information (for example to and from screen and data locations).
NOTE: ALL FIELDFACTORY CLASSES MUST END IN "FieldFactory".
 
Maintains the size and ordering for a layout of fields.
Class to manage the tabbed panel for field formats.
Class manage a header for the FieldViewer.
Class used to represent a location within the field header component.
A highlighter for for Fields.
FieldIndexTable provides a simplified index table whose key is a fixed or variable length IndexField which consists of a concatenation of the index field value and associated primary table key.
Interface implemented by objects that want to be notified when key events occur in the FieldPanel.
FieldKeyInteriorNode defines a common interface for FieldKeyNode implementations which are also an InteriorNode.
Listener interface for objects that are notified when a change is made to a Field, or Fields were added or removed from a set of Fields.
Class to represent Field locations within the field viewer.
Listener interface for field location changes
Indicates that the tagged java field corresponds to a field in a Ghidra structure.
Immutable information needed to deserialize a field in a structure mapped class.
A function that decorates a field in a structure mapped class.
This class allows clients to match on multiple field attributes, such as name and offset within a parent data type.
Query implementation used to test a field in a record to match a given value.
 
NOTE: ALL FieldMouseHandlerExtension CLASSES MUST END IN "FieldMouseHandler".
 
Listener interface for mouse pressed events in the field panel.
Generates Data Field (structure field names and array indexes) name Fields.
 
The FieldNameFieldLocation class provides specific information about the Function Name field within a program location.
Helper class to navigate to an address when user double clicks in a Field.
Indicates that the tagged java field is to be included when constructing a variable length Ghidra structure data type.
A function that adds a field to a Ghidra structure using annotated field information found in a Java class.
Immutable information needed to create fields in a Ghidra structure data type, using information from a java field.
Interface implemented by objects that want to be notified when an overlay is removed from the FieldPanel.
 
 
Coordinates the scrolling of a set of field panels by sharing bound scroll models.
An event related to component layout over a FieldPanel.
A listener for field panel overlay events.
A LayoutManager that can be applied to a FieldPanel, allowing Components to be placed over a given field location.
A range consists of a start position within a start row to an end position within an end row (exclusive).
Query implementation used to test a field in a record to fall within a range of values.
Functional interface to read a structure field's value.
Represents a Swift FieldRecord structure
This class represents a selection in a field viewer.
 
Listener interface for when the selection changes.
A matcher for a token or context field, constrained by its size in bits
A simple data container class that contains a part string that is part of a parent string with the index of the part string into the parent string.
A utility class for working with Field objects.
Extends DataTypeManager to provide methods specific to file data type archives (.gdt).
A (type, type_display_string, value) tuple.
A collection of FileAttribute values that describe a file.
Well known types of file attributes.
Categories of file attributes.
Extends DataTypeManager to provide methods specific to a data type manager that is file based.
 
A ByteProvider that reads its bytes from a file.
FileBytes provides access to the all the byte values (both original and modified) from an imported file.
FileBytesProvider provides a ByteProvider implementation for FileBytes object.
File caching implementation.
Represents a cached file.
A best-effort cache of MD5 values of files, where the file is identified by its parent's MD5 combined with the file's path inside its parent's 'namespace'.
Defines a file change listener interface.
 
Bean editor to show a text field and a browse button to bring up a File Chooser dialog.
 
DataTypeManager for a file.
A model that allows the DropDownSelectionTextField to work with File objects.
A class to represent the IMAGE_FILE_HEADER struct as defined in winnt.h.
Factory class for generating unique file ID's.
Service for importing files into Ghidra.
FileInUseException indicates that there was contention for a file which is in-use.
 
Generates Function Offset fields
Interface for classes that will handle drop actions for files dropped onto the tool
Handles drag/drop events on a given component such that a file dropped on the component from the front end tool will cause that file to be opened.
 
A simple class that holds info relating to the result of verifying a file's existence and proper usage of case.
 
 
Represents a fileset_entry_command
FileSystem provides a hierarchical view and management of a set of files and folders.
A Plugin that supplies a filesystem browser component that allows the user to view the contents of filesystems and perform actions on the files inside those filesystems.
A service to interact with file systems.
Events broadcast when a GFileSystem is closed or has a FileSystemRef change.
FileSystemListenerList maintains a list of FileSystemListener's.
Statically scoped mugger that handles the dirty work of probing for and creating GFileSystem instances.
A helper class used by GFilesystem implementors to track mappings between GFile instances and the underlying container filesystem's native file objects.
Specifies the info needed of a GFileSystem implementation.
Holds information read from a FileSystemInfo annotation.
 
FileSystemListener provides a listener the ability to be notified of folder and file changes within a FileSystem.
A callback interface used to choose which filesystem implementation to use when multiple filesystem types indicate that they can open a container file.
A handle to a GFileSystem which allows tracking the current users of the filesystem.
A threadsafe helper class that manages creating and releasing FileSystemRef instances and broadcasting events to FileSystemEventListener listeners.
Provides methods for dealing with GFilesystem files and filesystems.
Used by getDerivedByteProvider() to produce a derivative stream from a source file.
Used by getDerivedByteProviderPush() to produce a derivative stream from a source file.
This class is essentially a global flag used to track the long running file system synchronizing operation.
A datatype to interpret the FILETIME timestamp convention, which is based on the number of 100-nanosecond ticks since January 1, 1601.
Enumeration of file types
 
Value class for File types.
UI for viewing the contents of very large files efficiently.
The FileWatcher *watches* a single file and fires a change notification whenever the file is modified.
Automatically creates a structure definition based on the references found by the decompiler.
Automatically create a Structure data-type based on references found by the decompiler to a root parameter or other variable.
Class to create pair between an offset and its related PcodeOp
 
 
 
A class that allows clients to wrap a given accumulator, only adding elements that pass the given filter.
A graph implementation that allows clients to mark vertices and edges as filtered.
 
An interface that will be called when the text filter changes.
 
Dialog that allows the user to select options related to table filtering.
Specialized layout for the TableFilterDialog panels.
A text field that is meant to be used in conjunction with tables that allow filter text.
 
An interface that is meant to take the column type of of a DynamicTableColumn and convert it to the specified type.
Uses the given filter to fade out vertices that do not pass.
 
Dialog that shows all checkouts in a specific folder and all of its subfolders.
 
A simple interface for the FindDialog so that it can work for different search clients.
Table loader for executing an incremental search forwards or backwards and adding that result to the table.
 
A text filter that uses a pattern and performs a 'find' using that pattern.
 
Plugin event class for notification of when programs have completed being analyzed for the first time.
A job to scale one or more viewers such that the contained graph will fit entirely inside the viewing area.
 
FixedField10 provide an unsigned 10-byte fixed-length field value.
The resulting data for a HandleTemplate after all the placeholders have been resolved through context
A simple implementation of a LRU map that will throw away entries that exceed the given maximum size.
An object that will cache values returned from the given factory.
Creates a fixed size stack.
Represents a fvmfile_command structure
Represents a fvmlib_command structure.
 
Built-in GTheme that uses the FlatDark LookAndFeel and the dark application defaults.
 
 
Built-in GTheme that uses the FlatLight LookAndFeel and the dark application defaults.
 
This class is a flattened version of the Program API.
 
 
 
 
 
 
Array of floats that grows as needed.
Array of float[] that grows as needed.
Converts Float Column objects to Double objects so that column gets Double type column filters
Provides a definition of a complex built-in data type consisting of two floating point numbers in the IEEE 754 double precision format.
Provides a definition of a Float within a program.
FloatFormat provides IEEE 754 floating-point encoding formats in support of floating-point data types and floating-point emulation.
 
SettingsDefinition to define the number of digits of precision to show.
A simple text field for inputing floating point numbers.
 
This class provides a TextField implementation that takes multiple AttributedString field elements and places as many that will fit on a line without clipping before continuing to the next line.
 
Class to define flow types for instruction (how it flows from one instruction to the next)
 
 
 
 
 
Signals that the implementing cell editor desires to be notified when editing begins so that the editor can request focus on the right widget.
An interface to provided the current focus owner.
FolderItem represents an individual file contained within a FileSystem and is uniquely identified by a path string.
FolderLinkContentHandler provide folder-link support.
FolderNotEmptyException is thrown when an attempt is made to remove a Folder which is not empty.
FollowFlow follows the program's code flow either forward or backward from an initial address set.
ThemeEvent for when a font changes for exactly one font id.
Font property editor that is a bit unusual in that its custom component is a button that when pushed, pops up a dialog for editing the color.
Class that can transform one font into another.
Font subclass for creating an non UIResource Font from a FontUIResource.
Property Editor for editing Fonts
A class for storing Font values that have a String id (e.g.
Editor for Theme fonts
Class to manage the set of format models.
Interface for listeners to format model changes.
 
The settings definition for the numeric display format
 
 
 
 
A Frame Description Entry (FDE) describes the stack call frame, in particular, how to restore registers.
Main plugin component for the Ghidra Project Window, which is a PluginTool.
ProjectDataCollapseAction configured to work in the frontend.
ProjectDataExpandAction configured to work in the frontend.
ProjectDataNewFolderAction configured to work in the frontend.
 
 
Interface for accessing front-end functionality.
Tool that serves as the the Ghidra Project Window.
FSBComponentProvider context for actions
Plugin component provider for the FileSystemBrowserPlugin.
GTreeNode that represents a directory on a filesystem.
Extension point, used by the FSBComponentProvider to create actions that appear in the fsb tree, and to delegate focus and default actions.
Context given to a FSBFileHandler instance when being initialized.
GTreeNode that represents a file on a filesystem.
Static list of Icons for the file system browser plugin and its child windows.
Base class for all filesystem browser gtree nodes.
A GTreeNode that represents the root of a GFileSystem, and keeps the filesystem pinned in memory with its FileSystemRef.
A _F_ile _S_ystem _R_esource _L_ocator, (name and string format patterned after URLs)
A type of FSRL that is specific to the filesystem's identity.
 
Implementation of the ShortKeySet interface that always contains all the possible keys.
 
Interface to define methods available on a function.
 
 
 
Generates Function Call-Fixup Fields.
The FunctionCallFixupFieldLocation class provides specific information about the Function call-fixup field within a program location.
The FunctionCallingConventionFieldLocation class provides specific information about the Function Calling Convention field within a program location.
 
 
Specific function changes types for when the ProgramEvent is FUNCTION_CHANGED
ComparisonData for a function
A model for comparing one or more functions in a side by side display.
Allows subscribers to register for function comparison model changes
A panel for displaying functions, data, or address sets side-by-side for comparison purposes
Service interface to create comparisons between functions which will be displayed side-by-side in a function comparison window.
 
Database implementation of a Function.
Defines a function signature for things like function pointers.
Definition of a function for things like function pointers.
The FunctionEndParametersFieldLocation class provides a field for the close parenthesis of a function within a program location.
 
The FunctionInlineFieldLocation class provides specific information about the Function Inline field within a program location.
 
Interface for iterating over functions.
FunctionLocation provides information about the location in a program within a Function.
The manager for functions
Class that manages all functions within the program; there are some convenience methods on Listing to create and access functions, but all function related calls are routed to this class.
To change the template for this generated type comment go to Window>Preferences>Java>Code Generation>Code and Comments
 
The FunctionNameFieldLocation class provides specific information about the Function Name field within a program location.
This table field displays the Function Name containing either the program location or the address associated with a row in the table.
The FunctionNoReturnFieldLocation class provides specific information about the Function noreturn field within a program location.
 
Generates Function Offset fields
FunctionOverlapException is thrown in cases where a function creation or change would result in overlapping functions.
 
 
A FunctionSignatureFieldLocation that indicates the user clicked on a function parameter name.
High-level prototype of a function based on Varnodes, describing the inputs and outputs of this function.
Stores information about a function in a program such that the function can be retrieved when needed.
Command for analyzing the Stack; the command is run in the background.
 
 
This table field displays the Function Purge for either the program location or the address associated with a row in the table.
Option for controlling the renaming of a Function when applying a FunctionSignature or FunctionDefinition.
Field for showing Function repeatable comments
The FunctionRepeatableCommentFieldLocation class provides specific information about the Function Repeatable Comment field within a program location.
Command for analyzing the Stack; the command is run in the background.
The FunctionReturnTypeFieldLocation class provides specific information about the Function Return Type field within a program location.
Interface describing all the things about a function that are portable from one program to another.
A hover service to show tool tip text for hovering over a function name in the decompiler.
A plugin to show tool tip text for hovering over function names in the decompiler.
Generates FunctionSignature Fields.
The FunctionSignatureFieldLocation class provides specific information about the Function Signature field within a program location.
Deprecated.
FunctionDefinitionDataType should be used for defining a function signature
Class for parsing function signatures.
Generates Function Signature Source Fields.
The FunctionSignatureFieldLocation class provides specific information about the Function Signature field within a program location.
This table field displays the Function Signature for either the program location or the address associated with a row in the table.
Command for analyzing the Stack; the command is run in the background.
The FunctionStartParametersFieldLocation class provides a field for the open parenthesis of a function within a program location.
Represents a LC_FUNCTION_STARTS command.
A "mix-in" interface that specific implementers of ActionContext may also implement if they can supply functions in their action context.
Symbol class for functions.
Represents a function tag object that can be associated with functions.
Defines a Function Tag Change set.
Database object for FunctionTagAdapter objects.
Generates a text label that lists the function tags for each Function.
Provides information about the location of an object that represents the tag names assigned to a function.
Handles merging of function tags when they are added/removed from functions.
Interface for managing function tags.
 
Class for merging function tag changes.
Table column for displaying all function tags associated with a given function.
The FunctionThunkFieldLocation class provides specific information about the Function Thunk field within a program location.
 
Utility methods for performing function related actions.
 
Custom events to be used in conjunction with the FVEventListener module.
 
Extension of the Java Observer class that allows clients to send FVEvent messages to subscribers.
Custom slider that acts as the scroll bar for the FVTable.
Custom UI for a slider that dynamically adjusts the thumb height based on the size of the given JScrollPane and {JTable}.
The table that backs the FileViewer window.
The model that backs the FVTable table.
Toolbar that contains widgets for controlling the FileViewer.
A drop-in replacement for clients using SimpleAttributeSets.
 
A drop-in replacement for JButton that correctly installs a disabled icon.
An abstract class that can be extended by other classes that perform part of the gcc analysis.
Utility methods for use by the gcc exception handling analysis.
An analyzer for locating and marking up the GCC exception handling information.
A JCheckBox that has HTML rendering disabled.
 
Provides a place for clients to retrieve the Clipboard they should be using.
A Color whose value is dynamically determined by looking up its id into a global color table that is determined by the active GTheme.
Version of GColor that implements UIResource.
An interface for the DynamicTableColumn.
An enum that signals how the advanced column filtering should work.
A JComboBox that disables HTML rendering.
Provides a common implementation of a combo box drop-down list renderer, for use with JComboBoxes.
 
A 'dynamic' label (the text can be changed), with HTML rendering allowed.
A directed graph Unlike GImplicitDirectedGraph, this graph is constructed explicitly in memory.
A 'dynamic' label (the text can be changed), with HTML rendering disabled.
 
Loads a packed Ghidra data type archive.
An abstract table model for showing DynamicTableColumns where each row is based on an object of type ROW_TYPE.
An edge in a (usually directed) graph
A callback to get the weight of an edge Analogous to Java's Comparator, this provides a means to override the weight of an edge in a graph, or provide a weight in the absence of a natural weight, when executing various graph algorithms, e.g., shortest path.
 
Generic implementation of the Address interface.
Generic implementation of the AddressSpace interface.
A low-level implementation of ApplicationLayout that is suitable for basic applications.
 
 
 
Templated simple DittedBitSequence Pattern for a byte/mask pattern and associated action.
Deprecated.
Calling convention name strings should be used instead of this class.
Generic data flavor class to override the equals(DataFlavor) method in order to have data flavors support the same general class types such as an ArrayList.
Base implementation for a generic data type.
The JDK-provided DateRenderer does not inherit the backgrounds and such properly.
 
 
 
Template for generic match action attached to a match sequence.
 
 
 
GenericSaveable is used by the DBPropertyMapManager when the class can not be found and loaded for the class path name of a property in the database.
A simplified interface for stand alone applications.
A simple extension of XMLOutputter that sets default settings to fix common bugs.
A modal task that gets a domain object for a specified version.
 
Represents a file in a filesystem.
GFileSystem add-on interface that provides MD5 hashing for file located within the filesystem
Base implementation of file in a filesystem.
GFile implementation that refers to a real java.io.File on the local file system.
Interface that represents a filesystem that contains files.
This is the original GFileSystem implementation abstract base class, with most of the initially implemented filesystem types extending this class.
A GFileSystemFactory implementation that probes and creates instances of GFileSystemBase which use the legacy filesystem lifecycle pattern.
Task that recursively extracts all files from a GFileSystem directory and writes them to a local filesystem.
An empty interface that is a common type for the real factory interfaces to derive from.
A GFileSystemFactory interface for filesystem implementations that use a ByteProvider.
Marker class that tells the FileSystemFactoryMgr to not register this filesystem instance.
An empty interface that is a common type for the real probe interfaces to derive from.
A GFileSystemProbe interface for filesystems that need to examine a ByteProvider.
A GFileSystemProbe interface for filesystems that can be detected using just a few bytes from the beginning of the containing file.
GFileSystem add-on interface that allows a filesystem publish the fact that it supports an import feature allowing the caller to import binaries directly into Ghidra without going through a Loader.
 
GFormattedTextField provides an implementation of JFormattedTextField which facilitates entry validation with an indication of its current status.
 
A component that acts as the general purpose glass pane for Java windows.
A class that allows clients to paint a message over top of a given component.
 
Ghidra help broker that displays the help set; sets the application icon on the help frame and attempts to maintain the user window size.
A class to build help for an entire 'G' application.
A ClassLoader for loading help data.
A class that allows Ghidra to intercept JavaHelp navigation events in order to resolve them to Ghidra's help system.
Ghidra help set that creates a GhidraHelpBroker, installs some custom HTML handling code via the GHelpHTMLEditorKit, and most importantly, changes how the JavaHelp system works with regard to integrating Help Sets.
Ghidra entry point that forwards the command line arguments to GhidraLaunchable.
 
 
The Ghidra application layout defines the customizable elements of the Ghidra application's directory structure.
 
Interface for representing class objects in the program.
Custom Ghidra URL class loader which exposes the addURL method so we can add to the classpath at runtime.
 
GhidraComboBox adds the following features:
 
 
 
 
An extension of File that does not translate to the native operating system's file separator.
 
An implementation of a file chooser dialog.
 
Modes available for selecting files in the file chooser
Interface for the GhidraFileChooser data model.
Panel for entering a file name that includes a title border, a text field for entering a filename, and a button for bringing up a file chooser dialog.
A listener for notifying when the file in the file chooser panel have changed.
GhidraFileData provides the managed object which represents a project file that corresponds to matched FolderItem pair across both a versioned and private filesystem and viewed as a single file at the project level.
A interface that filters out all files except for those type extensions that it knows about.
A class used to initialize the handling of files that are dropped onto the tool
 
 
Ghidra's help service.
The Ghidra jar application layout defines the customizable elements of the Ghidra application's directory structure when running in "single jar mode."
 
A python interpreter meant for Ghidra's use.