Package ghidra

Class GhidraJarApplicationLayout


public class GhidraJarApplicationLayout extends GhidraApplicationLayout
The Ghidra jar application layout defines the customizable elements of the Ghidra application's directory structure when running in "single jar mode."
  • Constructor Details

    • GhidraJarApplicationLayout

      public GhidraJarApplicationLayout() throws FileNotFoundException, IOException
      Constructs a new Ghidra jar application layout object.
      Throws:
      FileNotFoundException - if there was a problem getting a user directory.
      IOException - if there was a problem getting the application properties or modules.
  • Method Details

    • inSingleJarMode

      public boolean inSingleJarMode()
      Description copied from class: ApplicationLayout
      Checks whether or not the application is using a "single jar" layout. Custom application layouts that extend this class can override this method once they determine they are in single jar mode.
      Overrides:
      inSingleJarMode in class ApplicationLayout
      Returns:
      true if the application is using a "single jar" layout; otherwise, false.
    • findGhidraApplicationRootDirs

      protected Collection<ResourceFile> findGhidraApplicationRootDirs()
      Description copied from class: GhidraApplicationLayout
      Finds the application root directories for this application layout.
      Overrides:
      findGhidraApplicationRootDirs in class GhidraApplicationLayout
      Returns:
      A collection of the application root directories for this layout.
    • findGhidraApplicationInstallationDir

      protected ResourceFile findGhidraApplicationInstallationDir()
      Description copied from class: GhidraApplicationLayout
      Finds the application installation directory for this Ghidra application layout.
      Overrides:
      findGhidraApplicationInstallationDir in class GhidraApplicationLayout
      Returns:
      The application installation directory for this Ghidra application layout. Could be null if there is no application installation directory.
    • findGhidraModules

      protected Map<String,GModule> findGhidraModules() throws IOException
      Description copied from class: GhidraApplicationLayout
      Finds the modules for this Ghidra application layout.
      Overrides:
      findGhidraModules in class GhidraApplicationLayout
      Returns:
      The modules for this Ghidra application layout.
      Throws:
      IOException - if there was a problem finding the modules on disk.
    • findExtensionArchiveDirectory

      protected ResourceFile findExtensionArchiveDirectory()
      Description copied from class: GhidraApplicationLayout
      Returns the directory where all Ghidra extension archives are stored. This should be at the following location:
      • {install dir}/Extensions/Ghidra
      Overrides:
      findExtensionArchiveDirectory in class GhidraApplicationLayout
      Returns:
      the archive folder, or null if can't be determined
    • findExtensionInstallationDirectories

      protected List<ResourceFile> findExtensionInstallationDirectories()
      Description copied from class: GhidraApplicationLayout
      Returns a prioritized list of directories where Ghidra extensions are installed. These should be at the following locations:
      • [user settings dir]/Extensions
      • [application install dir]/Ghidra/Extensions (Release Mode)
      • ghidra/Ghidra/Extensions (Development Mode)
      Overrides:
      findExtensionInstallationDirectories in class GhidraApplicationLayout
      Returns:
      the install folder, or null if can't be determined