Class OriginalFileExporter

java.lang.Object
ghidra.app.util.exporter.Exporter
ghidra.app.util.exporter.OriginalFileExporter
All Implemented Interfaces:
ExtensionPoint

public class OriginalFileExporter extends Exporter
An Exporter that can export the originally imported file.

WARNING: Programs written to disk with this exporter may be runnable on your native platform. Use caution when exporting potentially malicious programs.

  • Constructor Details

  • Method Details

    • supportsAddressRestrictedExport

      public boolean supportsAddressRestrictedExport()
      Description copied from class: Exporter
      Returns true if this exporter can perform a restricted export of a DomainObject based upon a specified AddressSetView.
      Overrides:
      supportsAddressRestrictedExport in class Exporter
      Returns:
      true if this exporter can export less than the entire domain file.
    • canExportDomainObject

      public boolean canExportDomainObject(DomainObject domainObject)
      Description copied from class: Exporter
      Returns true if this exporter knows how to export the given domain object considering any constraints based on the specific makeup of the object. This method should be used prior to exporting using the Exporter.export(File, DomainObject, AddressSetView, TaskMonitor) method.
      Overrides:
      canExportDomainObject in class Exporter
      Parameters:
      domainObject - the domain object to test for exporting.
      Returns:
      true if this exporter knows how to export the given domain object.
    • export

      public boolean export(File file, DomainObject domainObj, AddressSetView addrSet, TaskMonitor monitor) throws IOException, ExporterException
      Description copied from class: Exporter
      Actually does the work of exporting a DomainObject. Export will include all saved and unsaved modifications which may have been made to the object.
      Specified by:
      export in class Exporter
      Parameters:
      file - the output file to write the exported info
      domainObj - the domain object to export
      addrSet - the address set if only a portion of the program should be exported NOTE: see Exporter.supportsAddressRestrictedExport().
      monitor - the task monitor
      Returns:
      true if the program was successfully exported; otherwise, false. If the program was not successfully exported, the message log should be checked to find the source of the error.
      Throws:
      IOException - if an IO error occurs
      ExporterException - if export error occurs
    • getOptions

      public List<Option> getOptions(DomainObjectService domainObjectService)
      Description copied from class: Exporter
      Returns the available options for this exporter. The program is needed because some exporters may have options that vary depending on the specific program being exported.
      Specified by:
      getOptions in class Exporter
      Parameters:
      domainObjectService - a service for retrieving the applicable domainObject.
      Returns:
      the available options for this exporter
    • setOptions

      public void setOptions(List<Option> opt)
      Description copied from class: Exporter
      Sets the options. This method is not for defining the options, but rather it is for setting the values of options. If invalid options are passed in, then OptionException should be thrown.
      Specified by:
      setOptions in class Exporter
      Parameters:
      opt - the option values for this exporter