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 functionalityBase class for creating a compact and efficient
DomainObjectListener
s.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
interfaceA 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.
A base implementation of
LayoutProvider
that stubs some default methods.An abstract base class for a LEB128 variable length integer data type.
A file system search path
An abstract executor state piece which internally uses
long
to address contentsA 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 implementationsAbstractPointerTypedefDataType
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.
A convenience class that allows subclasses to signal that they implement
ProgramLocationTableColumn
, but they do not want to be ExtensionPoint
s.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 implementationsThis 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
DataType
s.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 interfaceA 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
DockingAction
sDialog for displaying and invoking docking actions.
ActionContext is an interface used by
DockingActionIf
s 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.
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.sInterface 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 columnsImplementation 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
Address
es 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 resultsSearch 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
AnnotatedTextFieldElement
s.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
The generator of
AssemblyConstructState
from AssemblyParseBranch
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 operandThe type of non-terminal for an assembly grammar
The generator of
AssemblyOperandState
for a hidden value operandA 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
The generator of
AssemblyOperandState
from AssemblyParseNumericToken
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 assemblerDefines 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.
A resolved selection from the results given to
AssemblySelector.select(AssemblyResolutionResults, AssemblyPatternBlock)
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
LoadSpec
s (possibly from different user added sources)
that have a common BatchSegregatingCriteria
.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 bytesBase 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 BufferFileBufferFileManager
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 arrayA 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 iterationCancelledException
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 checkoutThis 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
String
s.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 programsAction 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
CodeUnit
s in 1 or more linesRenderer for
CodeUnitTableCellData
sTable column to display
CodeUnit
sService 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 valuesColumnConstraints 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
ColumnConstraint
s 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.
Registry of
crypto providers
and session creator
.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.
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
DataTree
s.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 encounteredConflictResult
indicates the resolution which should be
applied to a specific conflictA 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
DataType
s.Exception thrown when a value cannot be encoded for a data type
A filter selecting a specific class of data-type.
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 dataHolds 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 blockA (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 packagesA 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
ClangToken
s 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 futureA
AssemblyResolution
indicating the occurrence of a (usually semantic) errorA
AssemblyResolution
indicating successful application of a constructorDefaultCheckinHandler
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 applicationsA 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
SolverHint
sA 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
DemangledObject
s and DemangledType
sA 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 labelRepresents a demangled lambda function
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
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
Dependency Graph that uses
TreeMap
s and ListOrderedSet
s 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 iconDeprecated, 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
GTheme
s.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
DomainObjectChangedEvent
sThrown 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
DataType
s 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 DWARFAttributeValue
s.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
DWARFIndirectTableHeader
s 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
DWARFRange
s.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
structureRepresents 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
DynamicTableColumn
s.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 modifiedRepresents a dysymtab_command structure.
The root interface for defining columns for
DynamicColumnTableModel
s.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 Elf
32
_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 definitionA 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 platformsA 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
Creates a new
ExportTrie.ExportEntry
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
propertiesUtility 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
IOException
s 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
Field
s 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
Field
s.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 Component
s
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.
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
Font
sA 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 actionsPlugin 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
changesService 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.A handler to process
FunctionRepeatableCommentFieldLocation
.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. 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
SimpleAttributeSet
s.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.
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.
UpdateFunctionCommand
orApplyFunctionSignatureCmd
.