ghidra/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/plugin.xml
2024-12-20 09:34:41 -05:00

564 lines
22 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.startup">
<startup
class="ghidradev.GhidraDevStartup">
</startup>
</extension>
<extension
point="org.eclipse.ui.newWizards">
<category
id="GhidraCategory"
name="Ghidra">
</category>
<wizard
category="GhidraCategory"
class="ghidradev.ghidraprojectcreator.wizards.CreateGhidraScriptWizard"
icon="icons/script_code_red.png"
id="ghidradev.ghidraprojectcreator.wizards.CreateGhidraScriptWizard"
name="Ghidra Script"
project="false">
</wizard>
<wizard
category="GhidraCategory"
class="ghidradev.ghidraprojectcreator.wizards.CreateGhidraScriptProjectWizard"
icon="icons/script_add.png"
id="ghidradev.ghidraprojectcreator.wizards.CreateGhidraScriptProjectWizard"
name="Ghidra Script Project"
project="true">
</wizard>
<wizard
category="GhidraCategory"
class="ghidradev.ghidraprojectcreator.wizards.CreateGhidraModuleProjectWizard"
icon="icons/brick_add.png"
id="ghidradev.ghidraprojectcreator.wizards.CreateGhidraModuleProjectWizard"
name="Ghidra Module Project"
project="true">
</wizard>
</extension>
<extension
point="org.eclipse.ui.importWizards">
<category
id="GhidraCategory"
name="Ghidra">
</category>
<wizard
category="GhidraCategory"
class="ghidradev.ghidraprojectcreator.wizards.ImportGhidraModuleSourceWizard"
icon="icons/brick_add.png"
id="ghidradev.ghidraprojectcreator.wizards.ImportGhidraModuleSourceWizard"
name="Ghidra Module Source">
<description>
Imports a Ghidra module source directory to a new project.
</description>
</wizard>
</extension>
<extension
point="org.eclipse.ui.exportWizards">
<category
id="GhidraCategory"
name="Ghidra">
</category>
<wizard
category="GhidraCategory"
class="ghidradev.ghidraprojectcreator.wizards.ExportGhidraModuleWizard"
icon="icons/brick_go.png"
id="ghidradev.ghidraprojectcreator.wizards.ExportGhidraModuleWizard"
name="Ghidra Module Extension">
<description>
Exports a Ghidra module project to a zipped Ghidra extension.
</description>
</wizard>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
defaultHandler="ghidradev.ghidraprojectcreator.commands.LinkGhidraCommand"
description="Link Ghidra"
id="ghidradev.ghidraprojectcreator.commands.LinkGhidraCommand"
name="Link Ghidra">
</command>
<command
defaultHandler="ghidradev.ghidraprojectcreator.commands.AboutCommand"
description="About GhidraDev"
id="ghidradev.ghidraprojectcreator.commands.AboutCommand"
name="About GhidraDev">
</command>
</extension>
<extension
point="org.eclipse.ui.preferencePages">
<page
class="ghidradev.GhidraRootPreferencePage"
id="ghidradev.GhidraRootPreferencePage"
name="GhidraDev">
</page>
<page
category="ghidradev.GhidraRootPreferencePage"
class="ghidradev.ghidraprojectcreator.preferences.GhidraProjectCreatorPreferencePage"
id="ghidradev.ghidraprojectcreator.preferences.GhidraProjectCreatorPreferencePage"
name="Ghidra Installations">
</page>
<page
category="ghidradev.GhidraRootPreferencePage"
class="ghidradev.ghidrascripteditor.preferences.GhidraScriptEditorPreferencePage"
id="ghidradev.ghidrascripteditor.preferences.GhidraScriptEditorPreferencePage"
name="Script Editor">
</page>
<page
category="ghidradev.GhidraRootPreferencePage"
class="ghidradev.ghidrasymbollookup.preferences.GhidraSymbolLookupPreferencePage"
id="ghidradev.ghidrasymbollookup.preferences.GhidraSymbolLookupPreferencePage"
name="Symbol Lookup">
</page>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
<initializer
class="ghidradev.ghidraprojectcreator.preferences.GhidraProjectCreatorPreferenceInitializer">
</initializer>
<initializer
class="ghidradev.ghidrascripteditor.preferences.GhidraScriptEditorPreferenceInitializer">
</initializer>
<initializer
class="ghidradev.ghidrasymbollookup.preferences.GhidraSymbolLookupPreferenceInitializer">
</initializer>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:org.eclipse.ui.main.menu">
<menu
label="GhidraDev">
<menu
label="New">
<command
commandId="org.eclipse.ui.newWizard"
label="Ghidra Script"
style="push">
<parameter
name="newWizardId"
value="ghidradev.ghidraprojectcreator.wizards.CreateGhidraScriptWizard">
</parameter>
</command>
<separator
name="GhidraNewMenuSeparator1"
visible="true">
</separator>
<command
commandId="org.eclipse.ui.newWizard"
label="Ghidra Script Project"
style="push">
<parameter
name="newWizardId"
value="ghidradev.ghidraprojectcreator.wizards.CreateGhidraScriptProjectWizard">
</parameter>
</command>
<command
commandId="org.eclipse.ui.newWizard"
label="Ghidra Module Project"
style="push">
<parameter
name="newWizardId"
value="ghidradev.ghidraprojectcreator.wizards.CreateGhidraModuleProjectWizard">
</parameter>
</command>
</menu>
<menu
label="Import">
<command
commandId="org.eclipse.ui.file.import"
icon="icons/brick_add.png"
label="Ghidra Module Source"
style="push">
<parameter
name="importWizardId"
value="ghidradev.ghidraprojectcreator.wizards.ImportGhidraModuleSourceWizard">
</parameter>
</command>
</menu>
<menu
label="Export">
<command
commandId="org.eclipse.ui.file.export"
label="Ghidra Module Extension"
style="push">
<parameter
name="exportWizardId"
value="ghidradev.ghidraprojectcreator.wizards.ExportGhidraModuleWizard">
</parameter>
</command>
</menu>
<menu
label="Preferences">
<command
commandId="org.eclipse.ui.window.preferences"
label="Ghidra Installations..."
style="push">
<parameter
name="preferencePageId"
value="ghidradev.ghidraprojectcreator.preferences.GhidraProjectCreatorPreferencePage">
</parameter>
</command>
<command
commandId="org.eclipse.ui.window.preferences"
label="Script Editor..."
style="push">
<parameter
name="preferencePageId"
value="ghidradev.ghidrascripteditor.preferences.GhidraScriptEditorPreferencePage">
</parameter>
</command>
<command
commandId="org.eclipse.ui.window.preferences"
label="Symbol Lookup..."
style="push">
<parameter
name="preferencePageId"
value="ghidradev.ghidrasymbollookup.preferences.GhidraSymbolLookupPreferencePage">
</parameter>
</command>
</menu>
<separator
name="GhidraMenuSeparator1"
visible="true">
</separator>
<command
commandId="ghidradev.ghidraprojectcreator.commands.LinkGhidraCommand"
icon="icons/folder_link.png"
label="Link Ghidra..."
style="push">
</command>
<separator
name="GhidraMenuSeparator2"
visible="true">
</separator>
<command
commandId="ghidradev.ghidraprojectcreator.commands.AboutCommand"
icon="icons/GhidraIcon16.png"
label="About GhidraDev..."
style="push">
</command>
</menu>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="popup:org.eclipse.jdt.ui.PackageExplorer?after=additions">
<menu
icon="icons/GhidraIcon16.png"
label="GhidraDev">
<visibleWhen
checkEnabled="false">
<test
property="ghidradev.ghidraprojectcreator.testers.isJavaProject"
value="true">
</test>
</visibleWhen>
<menu
label="New">
<command
commandId="org.eclipse.ui.newWizard"
label="New Ghidra Script..."
style="push">
<parameter
name="newWizardId"
value="ghidradev.ghidraprojectcreator.wizards.CreateGhidraScriptWizard">
</parameter>
<visibleWhen
checkEnabled="false">
<test
property="ghidradev.ghidraprojectcreator.testers.isPackageFragmentRoot"
value="true">
</test>
</visibleWhen>
</command>
</menu>
<menu
label="Export">
<command
commandId="org.eclipse.ui.file.export"
label="Ghidra Module Extension"
style="push">
<parameter
name="exportWizardId"
value="ghidradev.ghidraprojectcreator.wizards.ExportGhidraModuleWizard">
</parameter>
<visibleWhen
checkEnabled="false">
<test
property="ghidradev.ghidraprojectcreator.testers.isGhidraModuleProject"
value="true">
</test>
</visibleWhen>
</command>
</menu>
<command
commandId="ghidradev.ghidraprojectcreator.commands.LinkGhidraCommand"
icon="icons/folder_link.png"
label="Link Ghidra..."
style="push">
</command>
</menu>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
<menu
icon="icons/GhidraIcon16.png"
label="GhidraDev">
<visibleWhen
checkEnabled="false">
<test
property="ghidradev.ghidraprojectcreator.testers.isJavaProject"
value="true">
</test>
</visibleWhen>
<menu
label="New">
<command
commandId="org.eclipse.ui.newWizard"
label="New Ghidra Script..."
style="push">
<parameter
name="newWizardId"
value="ghidradev.ghidraprojectcreator.wizards.CreateGhidraScriptWizard">
</parameter>
<visibleWhen
checkEnabled="false">
<test
property="ghidradev.ghidraprojectcreator.testers.isPackageFragmentRoot"
value="true">
</test>
</visibleWhen>
</command>
</menu>
<menu
label="Export">
<command
commandId="org.eclipse.ui.file.export"
label="Ghidra Module Extension"
style="push">
<parameter
name="exportWizardId"
value="ghidradev.ghidraprojectcreator.wizards.ExportGhidraModuleWizard">
</parameter>
<visibleWhen
checkEnabled="false">
<test
property="ghidradev.ghidraprojectcreator.testers.isGhidraModuleProject"
value="true">
</test>
</visibleWhen>
</command>
</menu>
<command
commandId="ghidradev.ghidraprojectcreator.commands.LinkGhidraCommand"
icon="icons/folder_link.png"
label="Link Ghidra..."
style="push">
</command>
</menu>
</menuContribution>
</extension>
<extension
point="org.eclipse.debug.core.launchConfigurationTypes">
<launchConfigurationType
allowPrototypes="true"
delegate="ghidradev.ghidraprojectcreator.launchers.GhidraLaunchDelegate"
id="GhidraGuiLaunchConfigurationType"
migrationDelegate="org.eclipse.jdt.internal.launching.JavaMigrationDelegate"
name="Ghidra"
sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
</launchConfigurationType>
<launchConfigurationType
delegate="ghidradev.ghidraprojectcreator.launchers.GhidraLaunchDelegate"
id="GhidraHeadlessLaunchConfigurationType"
name="Ghidra Headless">
</launchConfigurationType>
<launchConfigurationType
delegate="ghidradev.ghidraprojectcreator.launchers.PyGhidraLaunchDelegate"
id="PyGhidraGuiLaunchConfigurationType"
name="PyGhidra">
</launchConfigurationType>
</extension>
<extension
point="org.eclipse.debug.ui.launchConfigurationTypeImages">
<launchConfigurationTypeImage
configTypeID="GhidraGuiLaunchConfigurationType"
icon="icons/GhidraIcon16.png"
id="GhidraGuiLaunchConfigurationTypeImage">
</launchConfigurationTypeImage>
<launchConfigurationTypeImage
configTypeID="GhidraHeadlessLaunchConfigurationType"
icon="icons/GhidraIcon16_bw.png"
id="GhidraHeadlessLaunchConfigurationTypeImage">
</launchConfigurationTypeImage>
<launchConfigurationTypeImage
configTypeID="PyGhidraGuiLaunchConfigurationType"
icon="icons/python.png"
id="PyGhidraGuiLaunchConfigurationTypeImage">
</launchConfigurationTypeImage>
</extension>
<extension
point="org.eclipse.debug.core.launchDelegates">
<launchDelegate
delegate="ghidradev.ghidraprojectcreator.launchers.GhidraLaunchDelegate"
id="GhidraGuiLaunchDelegate"
modes="run, debug"
name="Ghidra"
type="GhidraGuiLaunchConfigurationType">
</launchDelegate>
<launchDelegate
delegate="ghidradev.ghidraprojectcreator.launchers.GhidraLaunchDelegate"
id="GhidraHeadlessLaunchDelegate"
modes="run, debug"
name="Ghidra Headless"
type="GhidraHeadlessLaunchConfigurationType">
</launchDelegate>
<launchDelegate
delegate="ghidradev.ghidraprojectcreator.launchers.PyGhidraLaunchDelegate"
id="PyGhidraGuiLaunchDelegate"
modes="run, debug"
name="PyGhidra GUI"
type="PyGhidraGuiLaunchConfigurationType">
</launchDelegate>
</extension>
<extension
point="org.eclipse.debug.ui.launchConfigurationTabGroups">
<launchConfigurationTabGroup
class="ghidradev.ghidraprojectcreator.launchers.GhidraLaunchTabGroup"
description="Run and debug Ghidra modules and scripts"
id="GhidraGuiLaunchConfigurationTabGroup"
type="GhidraGuiLaunchConfigurationType">
</launchConfigurationTabGroup>
<launchConfigurationTabGroup
class="ghidradev.ghidraprojectcreator.launchers.GhidraLaunchTabGroup"
description="Run and debug Ghidra modules and scripts in headless mode"
id="GhidraHeadlessLaunchConfigurationTabGroup"
type="GhidraHeadlessLaunchConfigurationType">
</launchConfigurationTabGroup>
<launchConfigurationTabGroup
class="org.python.pydev.debug.ui.PythonTabGroup"
description="Run and debug PyGhidra modules and scripts"
id="PyGhidraGuiLaunchConfigurationTabGroup"
type="PyGhidraGuiLaunchConfigurationType">
</launchConfigurationTabGroup>
</extension>
<extension
point="org.eclipse.debug.ui.launchShortcuts">
<shortcut
class="ghidradev.ghidraprojectcreator.launchers.GhidraGuiLaunchShortcut"
icon="icons/GhidraIcon16.png"
id="GhidraGuiLaunchShortcut"
label="Ghidra"
modes="run, debug">
<contextualLaunch>
<enablement>
<with
variable="selection">
<count
value="1">
</count>
<iterate
ifEmpty="false">
<test
property="ghidradev.ghidraprojectcreator.testers.isGhidraProject"
value="true">
</test>
</iterate>
</with>
</enablement>
</contextualLaunch>
</shortcut>
<shortcut
class="ghidradev.ghidraprojectcreator.launchers.GhidraHeadlessLaunchShortcut"
icon="icons/GhidraIcon16_bw.png"
id="GhidraHeadlessLaunchShortcut"
label="Ghidra Headless"
modes="run, debug">
<contextualLaunch>
<enablement>
<with
variable="selection">
<count
value="1">
</count>
<iterate
ifEmpty="false">
<test
property="ghidradev.ghidraprojectcreator.testers.isGhidraProject"
value="true">
</test>
</iterate>
</with>
</enablement>
</contextualLaunch>
</shortcut>
<shortcut
class="ghidradev.ghidraprojectcreator.launchers.PyGhidraGuiLaunchShortcut"
icon="icons/python.png"
id="PyGhidraGuiLaunchShortcut"
label="PyGhidra"
modes="run, debug">
<contextualLaunch>
<enablement>
<with
variable="selection">
<count
value="1">
</count>
<iterate
ifEmpty="false">
<test
property="ghidradev.ghidraprojectcreator.testers.isPyGhidraProject"
value="true">
</test>
</iterate>
</with>
</enablement>
</contextualLaunch>
</shortcut>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
class="ghidradev.ghidraprojectcreator.testers.GhidraProjectPropertyTester"
id="GhidraProjectPropertyTester"
namespace="ghidradev.ghidraprojectcreator.testers"
properties="isGhidraProject"
type="java.lang.Object">
</propertyTester>
<propertyTester
class="ghidradev.ghidraprojectcreator.testers.JavaProjectPropertyTester"
id="JavaProjectPropertyTester"
namespace="ghidradev.ghidraprojectcreator.testers"
properties="isJavaProject"
type="java.lang.Object">
</propertyTester>
<propertyTester
class="ghidradev.ghidraprojectcreator.testers.PackageFragmentRootPropertyTester"
id="PackageFragmentRootPropertyTester"
namespace="ghidradev.ghidraprojectcreator.testers"
properties="isPackageFragmentRoot"
type="java.lang.Object">
</propertyTester>
<propertyTester
class="ghidradev.ghidraprojectcreator.testers.GhidraModuleProjectPropertyTester"
id="GhidraModuleProjectPropertyTester"
namespace="ghidradev.ghidraprojectcreator.testers"
properties="isGhidraModuleProject"
type="java.lang.Object">
</propertyTester>
<propertyTester
class="ghidradev.ghidraprojectcreator.testers.PyGhidraProjectPropertyTester"
id="PyGhidraProjectPropertyTester"
namespace="ghidradev.ghidraprojectcreator.testers"
properties="isPyGhidraProject"
type="java.lang.Object">
</propertyTester>
</extension>
</plugin>