mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-06-04 05:24:57 +08:00
Merge remote-tracking branch
'origin/GP-5428_ghidragon_scripts_menu--SQUASHED' (#7521)
This commit is contained in:
@@ -516,7 +516,6 @@ src/main/help/help/topics/ScalarSearchPlugin/images/ScalarWindow.png||GHIDRA||||
|
|||||||
src/main/help/help/topics/ScalarSearchPlugin/images/SearchAllScalarsDialog.png||GHIDRA||||END|
|
src/main/help/help/topics/ScalarSearchPlugin/images/SearchAllScalarsDialog.png||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Search/Instruction_Mnemonic_Search.htm||GHIDRA||||END|
|
src/main/help/help/topics/Search/Instruction_Mnemonic_Search.htm||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Search/Query_Results_Dialog.htm||GHIDRA||||END|
|
src/main/help/help/topics/Search/Query_Results_Dialog.htm||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Search/Regular_Expressions.htm||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Search/Search_Formats.htm||GHIDRA||||END|
|
src/main/help/help/topics/Search/Search_Formats.htm||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Search/Search_Instruction_Patterns.htm||GHIDRA||||END|
|
src/main/help/help/topics/Search/Search_Instruction_Patterns.htm||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Search/Search_Memory.htm||GHIDRA||||END|
|
src/main/help/help/topics/Search/Search_Memory.htm||GHIDRA||||END|
|
||||||
@@ -579,10 +578,6 @@ src/main/help/help/topics/SymbolTreePlugin/SymbolTree.htm||GHIDRA||||END|
|
|||||||
src/main/help/help/topics/SymbolTreePlugin/images/CreateExternalLocation.png||GHIDRA||||END|
|
src/main/help/help/topics/SymbolTreePlugin/images/CreateExternalLocation.png||GHIDRA||||END|
|
||||||
src/main/help/help/topics/SymbolTreePlugin/images/EditExternalLocation.png||GHIDRA||||END|
|
src/main/help/help/topics/SymbolTreePlugin/images/EditExternalLocation.png||GHIDRA||||END|
|
||||||
src/main/help/help/topics/SymbolTreePlugin/images/SymbolTree.png||GHIDRA||||END|
|
src/main/help/help/topics/SymbolTreePlugin/images/SymbolTree.png||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Tables/GhidraTableHeaders.html||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Tables/images/BytesSettingsDialog.png||GHIDRA||reviewed||END|
|
|
||||||
src/main/help/help/topics/Tables/images/MultipleColumnSortDialog.png||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Tables/images/SelectColumnsDialog.png||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Tool/Configure_Tool.htm||GHIDRA||||END|
|
src/main/help/help/topics/Tool/Configure_Tool.htm||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Tool/Ghidra_Tool_Administration.htm||GHIDRA||||END|
|
src/main/help/help/topics/Tool/Ghidra_Tool_Administration.htm||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Tool/ShowLog.htm||GHIDRA|||References wcbiema in screen snapshot|END|
|
src/main/help/help/topics/Tool/ShowLog.htm||GHIDRA|||References wcbiema in screen snapshot|END|
|
||||||
@@ -604,13 +599,6 @@ src/main/help/help/topics/Tool/images/SetToolAssociations.png||GHIDRA||||END|
|
|||||||
src/main/help/help/topics/Tool/images/ShowLog.png||GHIDRA||||END|
|
src/main/help/help/topics/Tool/images/ShowLog.png||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Tool/images/Tip.png||GHIDRA||||END|
|
src/main/help/help/topics/Tool/images/Tip.png||GHIDRA||||END|
|
||||||
src/main/help/help/topics/TranslateStringsPlugin/TranslateStringsPlugin.htm||GHIDRA||||END|
|
src/main/help/help/topics/TranslateStringsPlugin/TranslateStringsPlugin.htm||GHIDRA||||END|
|
||||||
src/main/help/help/topics/Trees/GhidraTreeFilter.html||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Trees/images/Filter.png||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Trees/images/FilterClearButton.png||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Trees/images/FilterOptions.png||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Trees/images/TableColumnFilter.png||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Trees/images/TableColumnFilterAfterFilterApplied.png||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/Trees/images/TableColumnFilterDialog.png||GHIDRA||||END|
|
|
||||||
src/main/help/help/topics/VSCodeIntegration/VSCodeIntegration.htm||GHIDRA||||END|
|
src/main/help/help/topics/VSCodeIntegration/VSCodeIntegration.htm||GHIDRA||||END|
|
||||||
src/main/help/help/topics/ValidateProgram/ValidateProgram.html||GHIDRA||||END|
|
src/main/help/help/topics/ValidateProgram/ValidateProgram.html||GHIDRA||||END|
|
||||||
src/main/help/help/topics/ValidateProgram/images/ValidateProgram.png||GHIDRA||||END|
|
src/main/help/help/topics/ValidateProgram/images/ValidateProgram.png||GHIDRA||||END|
|
||||||
|
|||||||
+149
-125
@@ -41,28 +41,52 @@
|
|||||||
<P align="left">The script table displays information about the scripts.<BR>
|
<P align="left">The script table displays information about the scripts.<BR>
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<P align="left">The <I>first column</I>n indicates if an action should be created for the
|
<H4>In Tool Column</H4>
|
||||||
script. If a script has a menu path or default key binding, then selecting this
|
|
||||||
column will cause an action to be created with that menu path and/or key binding.
|
|
||||||
Selecting this column for a script that has no menu path or key binding set will have no
|
|
||||||
effect until the script is modified to have a menu path or key binding. Deselecting
|
|
||||||
this column will also remove any key bindings that were defined via the script manager
|
|
||||||
gui.</P>
|
|
||||||
|
|
||||||
<P align="left">The <I>second column</I>n indicates the status of the script. A blank field
|
<BLOCKQUOTE>
|
||||||
is a happy field. If the column contains <IMG src="Icons.ERROR_ICON" border="0"> , then
|
<P>The <I>In Tool</I> column provides a checkbox that allows a script to be run directly
|
||||||
that script contains an error.</P>
|
from the tool instead of just from the script manager window. If a script has a menu path
|
||||||
|
(@menupath) defined in its header's meta data section, then an action will be created at
|
||||||
|
that menu location. Otherwise, a menu item will be created under the tool's
|
||||||
|
<I>Scripts</I> menu and if applicable under any sub-menus corresponding to its category
|
||||||
|
(@category). In either case, that menu item can be used to run the script.</P>
|
||||||
|
|
||||||
<P align="left">The <I>Filename</I> column indicates the filename of the script.</P>
|
<P>Also, if the script has a key binding (@keybinding) defined in it's header, then
|
||||||
|
selecting the <I>In Tool</I> option will allow the script to be run by pressing that
|
||||||
|
key combination. Similarly, having the toolbar meta data set (@toolbar), will result in a
|
||||||
|
top level toolbar item being created that can be used to run the script.</I></P>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<P align="left">The <I>Description</I> column indicates the description as defined in the
|
<H4><I>Status Column</I></H4>
|
||||||
meta-data comment of the script.</P>
|
|
||||||
|
|
||||||
<P align="left">The <I>Key Binding</I> column indicates the key binding associated to that
|
<BLOCKQUOTE>
|
||||||
script. If the field is blank, then a key binding has not been assigned to the
|
<P><I>The Status</I> Column indicates the status of the script. A blank field is a happy
|
||||||
script. Setting a key binding will cause an action to get created and therefore the
|
field. If the column contains <IMG alt="" src="Icons.ERROR_ICON" border="0"> , then that
|
||||||
first column will become checked.<BR>
|
script contains an error.</I></P>
|
||||||
</P>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
|
<H4>Filename Column</H4>
|
||||||
|
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
<P align="left">The <I>Filename</I> column indicates the filename of the script.</P>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
|
<H4>Description Column</H4>
|
||||||
|
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
<P>The <I>Description</I> column indicates the description as defined in the meta-data
|
||||||
|
comment of the script.</P>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
|
<H4>Key Binding Column</H4>
|
||||||
|
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
<P>The <I>Key Binding</I> column indicates the key binding associated to that script. If
|
||||||
|
the field is blank, then a key binding has not been assigned to the script. Setting
|
||||||
|
a key binding will cause an action to get created and therefore the first column will
|
||||||
|
become checked.<BR>
|
||||||
|
</P>
|
||||||
|
</BLOCKQUOTE>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3><A name="SearchFilter"></A> Filter</H3>
|
<H3><A name="SearchFilter"></A> Filter</H3>
|
||||||
@@ -73,84 +97,76 @@
|
|||||||
the filter, will be displayed. As you type, the table is updated to reflect the filter.</P>
|
the filter, will be displayed. As you type, the table is updated to reflect the filter.</P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
|
|
||||||
<H3><A name="DescriptionPanel"></A> Description Panel</H3>
|
<H3><A name="DescriptionPanel"></A> Description Panel</H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P>The <I>Description Panel</I> allows you to view meta data about the <b>selected</b>
|
<P>The <I>Description Panel</I> allows you to view meta data about the <B>selected</B>
|
||||||
script in the <i>Script Table</i>, including such things as author, description,
|
script in the <I>Script Table</I>, including such things as author, description, key
|
||||||
key binding, etc.</P>
|
binding, etc.</P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H2 align="left"><A name="Script_Manager_Actions"></A>Script Manager Actions</H2>
|
<H2 align="left"><A name="Script_Manager_Actions"></A>Script Manager Actions</H2>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<H3><A name="Run"></A>Run Script <IMG src="images/play.png" border="0"></H3>
|
<H3><A name="Run"></A>Run Script <IMG alt="" src="images/play.png" border="0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Runs the selected script. If the script source file or any source
|
<P align="left">Runs the selected script. If the script source file or any source in
|
||||||
in its script directory are out of date, then it's all (re)compiled. If the compilation
|
its script directory are out of date, then it's all (re)compiled. If the compilation is
|
||||||
is successful, then the script will be run. If the script does not compile, the
|
successful, then the script will be run. If the script does not compile, the compilation
|
||||||
compilation errors will be displayed in the <A href="help/topics/ConsolePlugin/console.html">
|
errors will be displayed in the <A href=
|
||||||
Console</A> and an error icon <IMG src="Icons.ERROR_ICON" border="0"> will be displayed
|
"help/topics/ConsolePlugin/console.html">Console</A> and an error icon <IMG alt="" src=
|
||||||
in the first column of the table.</P>
|
"Icons.ERROR_ICON" border="0"> will be displayed in the first column of the table.</P>
|
||||||
|
|
||||||
<P align="center"><IMG src="images/Console.png" border="0"></P>
|
<P align="center"><IMG alt="" src="images/Console.png" border="0"></P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3><A name="Run_Last"></A>Run Last Script <IMG src="images/play_again.png" border="0"></H3>
|
<H3><A name="Run_Last"></A>Run Last Script <IMG alt="" src="images/play_again.png" border=
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
|
||||||
<P align="left">Runs the last run script. This action is available as a keybinding
|
|
||||||
from within anywhere in the tool, whether or not the Script Manager is showing. To
|
|
||||||
see the current keybinding for this action, hover over its icon in the toolbar of
|
|
||||||
the Script Manager.
|
|
||||||
</P>
|
|
||||||
|
|
||||||
</BLOCKQUOTE>
|
|
||||||
|
|
||||||
<H3><A name="Script_Quick_Launch"></A>Script Quick Launch</H3>
|
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
|
||||||
<P align="left">This key binding action will show a dialog to allow you to quickly
|
|
||||||
select a script to be run. You may type any part of the name of the desired script
|
|
||||||
in the dialog's text field. An asterisc may be used as a globbing character.
|
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
You may either use the mouse to choose the desired script from the popup list or press the
|
|
||||||
Enter key to selected the highlighted list element.
|
|
||||||
</P>
|
|
||||||
|
|
||||||
<P align="center">
|
|
||||||
<IMG SRC="images/ScriptQuickLaunchDialog.png" />
|
|
||||||
</P>
|
|
||||||
|
|
||||||
</BLOCKQUOTE>
|
|
||||||
|
|
||||||
<H3 align="left"><A name="Edit"></A>Edit Script <IMG src="images/accessories-text-editor.png" border=
|
|
||||||
"0"></H3>
|
"0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Edits the selected script. For more information on script meta data, see
|
<P align="left">Runs the last run script. This action is available as a keybinding from
|
||||||
<A href="ScriptDevelopment.htm#meta_data">Ghidra Script Development</A></P>
|
within anywhere in the tool, whether or not the Script Manager is showing. To see the
|
||||||
|
current keybinding for this action, hover over its icon in the toolbar of the Script
|
||||||
|
Manager.</P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<P align="center"><IMG src="images/Edit_Script.png" border="0"></P>
|
<H3><A name="Script_Quick_Launch"></A>Script Quick Launch</H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<H4 align="left"><A name="Refresh_Script"></A>Refresh <IMG src="Icons.REFRESH_ICON" border=
|
<P align="left">This key binding action will show a dialog to allow you to quickly select a
|
||||||
"0"></H4>
|
script to be run. You may type any part of the name of the desired script in the dialog's
|
||||||
|
text field. An asterisc may be used as a globbing character.</P>
|
||||||
|
|
||||||
|
<P>You may either use the mouse to choose the desired script from the popup list or press
|
||||||
|
the Enter key to selected the highlighted list element.</P>
|
||||||
|
|
||||||
|
<P align="center"><IMG alt="" src="images/ScriptQuickLaunchDialog.png">
|
||||||
|
</P>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
|
<H3 align="left"><A name="Edit"></A>Edit Script <IMG alt="" src=
|
||||||
|
"images/accessories-text-editor.png" border="0"></H3>
|
||||||
|
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
<P align="left">Edits the selected script. For more information on script meta data, see <A
|
||||||
|
href="ScriptDevelopment.htm#meta_data">Ghidra Script Development</A></P>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
|
<P align="center"><IMG alt="" src="images/Edit_Script.png" border="0"></P>
|
||||||
|
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
<H4 align="left"><A name="Refresh_Script"></A>Refresh <IMG alt="" src="Icons.REFRESH_ICON"
|
||||||
|
border="0"></H4>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Will load the contents of the current script from the file on the
|
<P align="left">Will load the contents of the current script from the file on the
|
||||||
filesystem. This action is useful if you have edited the script outside of Ghidra
|
filesystem. This action is useful if you have edited the script outside of Ghidra and
|
||||||
and would like to have the editor update to show those changes.</P>
|
would like to have the editor update to show those changes.</P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
|
<H4 align="left"><A name="Save_Script"></A>Save <IMG alt="" src="images/disk.png" border=
|
||||||
<H4 align="left"><A name="Save_Script"></A>Save <IMG src="images/disk.png" border=
|
|
||||||
"0"></H4>
|
"0"></H4>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
@@ -158,8 +174,8 @@
|
|||||||
option is only enabled when changes have been made.</P>
|
option is only enabled when changes have been made.</P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H4 align="left"><A name="Save_Script_As"></A>Save As... <IMG src="images/disk_save_as.png"
|
<H4 align="left"><A name="Save_Script_As"></A>Save As... <IMG alt="" src=
|
||||||
border="0"></H4>
|
"images/disk_save_as.png" border="0"></H4>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Saves the script (with any changes) to a new script file. The default
|
<P align="left">Saves the script (with any changes) to a new script file. The default
|
||||||
@@ -168,62 +184,71 @@
|
|||||||
script in the editor. When selecting <I>Save As...</I>, Ghidra will prompt for a
|
script in the editor. When selecting <I>Save As...</I>, Ghidra will prompt for a
|
||||||
filename.</P>
|
filename.</P>
|
||||||
|
|
||||||
<P align="center"><IMG src="images/SaveAs.png" border="0"></P>
|
<P align="center"><IMG alt="" src="images/SaveAs.png" border="0"></P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H4 align="left"><A name="Undo"></A>Undo <IMG src="icon.undo" border="0"></H4>
|
<H4 align="left"><A name="Undo"></A>Undo <IMG alt="" src="icon.undo" border="0"></H4>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Undo reverts the editor to the state prior to the last edit. You can undo
|
<P align="left">Undo reverts the editor to the state prior to the last edit. You can undo
|
||||||
up to 50 edits.</P>
|
up to 50 edits.</P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H4 align="left"><A name="Redo"></A> Redo <IMG src="icon.redo" border="0"></H4>
|
<H4 align="left"><A name="Redo"></A> Redo <IMG alt="" src="icon.redo" border="0"></H4>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Redo returns the last edit back into the editor.</P>
|
<P align="left">Redo returns the last edit back into the editor.</P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H4 align="left"><A name="Select_Font"></A> Select Font <IMG src="images/text_lowercase.png" border=
|
<H4 align="left"><A name="Select_Font"></A> Select Font <IMG alt="" src=
|
||||||
"0"></H4>
|
"images/text_lowercase.png" border="0"></H4>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Changes the font for all open editors. It will also set the default font
|
<P align="left">Changes the font for all open editors. It will also set the default font
|
||||||
that will be used for all future editors. The dialog allows you to specify the font type,
|
that will be used for all future editors. The dialog allows you to specify the font type,
|
||||||
size, and style.</P>
|
size, and style.</P>
|
||||||
|
|
||||||
<P align="center"><IMG src="images/Select_Font.png" border="0"></P>
|
<P align="center"><IMG alt="" src="images/Select_Font.png" border="0"></P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3 align="left"><A name="EditEclipse"></A>Edit Script with Eclipse <IMG src="images/eclipse.png" border="0"></H3>
|
<H3 align="left"><A name="EditEclipse"></A>Edit Script with Eclipse <IMG alt="" src=
|
||||||
|
"images/eclipse.png" border="0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Edits the selected script in Eclipse using the GhidraDev plugin.
|
<P align="left">Edits the selected script in Eclipse using the GhidraDev plugin.</P>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left"><I><IMG src="help/shared/note.png" border="0">Before a script can be edited in
|
<P align="left"><I><IMG alt="" src="help/shared/note.png" border="0">Before a script can
|
||||||
Eclipse, an Eclipse installation and workspace directory must be defined in the Tool's
|
be edited in Eclipse, an Eclipse installation and workspace directory must be defined in
|
||||||
<A href="help/topics/EclipseIntegration/EclipseIntegration.htm"> Eclipse Integration</A>
|
the Tool's <A href="help/topics/EclipseIntegration/EclipseIntegration.htm">Eclipse
|
||||||
options.</I></P>
|
Integration</A> options.</I></P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left"><I><IMG src="help/shared/note.png" border="0">For more information on developing
|
<P align="left"><I><IMG alt="" src="help/shared/note.png" border="0">For more information
|
||||||
Ghidra scripts in Eclipse, see Extensions/Eclipse/GhidraDev/GhidraDev_README.html.</I></P>
|
on developing Ghidra scripts in Eclipse, see
|
||||||
|
Extensions/Eclipse/GhidraDev/GhidraDev_README.html.</I></P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3 align="left"><A name="EditVSCode"></A>Edit Script with Visual Studio Code <IMG src="images/vscode.png" border="0"></H3>
|
<H3 align="left"><A name="EditVSCode"></A>Edit Script with Visual Studio Code <IMG alt=""
|
||||||
|
src="images/vscode.png" border="0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Edits the selected script in Visual Studio Code.
|
<P align="left">Edits the selected script in Visual Studio Code.</P>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left"><I><IMG src="help/shared/note.png" border="0">Before a script can be edited in
|
<P align="left"><I><IMG alt="" src="help/shared/note.png" border="0">Before a script can
|
||||||
Visual Studio Code, a Visual Studio Code executable path must be defined in the Tool's
|
be edited in Visual Studio Code, a Visual Studio Code executable path must be defined in
|
||||||
<A href="help/topics/VSCodeIntegration/VSCodeIntegration.htm"> Visual Studio Code Integration</A>
|
the Tool's <A href="help/topics/VSCodeIntegration/VSCodeIntegration.htm">Visual Studio
|
||||||
options if Visual Studio Code is installed in a non-default location.</I></P>
|
Code Integration</A> options if Visual Studio Code is installed in a non-default
|
||||||
|
location.</I></P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3 align="left"><A name="Key_Binding"></A>Assign Key Binding <IMG src="images/key.png"
|
<H3 align="left"><A name="Key_Binding"></A>Assign Key Binding <IMG alt="" src=
|
||||||
border="0"></H3>
|
"images/key.png" border="0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Allows you to assign a key binding the selected script. </P>
|
<P align="left">Allows you to assign a key binding the selected script. </P>
|
||||||
@@ -236,48 +261,47 @@
|
|||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<P align="center"><IMG src="images/Assign_Key_Binding.png" border="0"></P>
|
<P align="center"><IMG alt="" src="images/Assign_Key_Binding.png" border="0"></P>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left"><I><IMG src="help/shared/note.png" border="0">The script key bindings
|
<P align="left"><I><IMG alt="" src="help/shared/note.png" border="0">The script key
|
||||||
are stored in the Tool's <A href=
|
bindings are stored in the Tool's <A href=
|
||||||
"help/topics/Tool/ToolOptions_Dialog.htm#KeyBindings_Option">Key Binding</A>
|
"help/topics/Tool/ToolOptions_Dialog.htm#KeyBindings_Option">Key Binding</A>
|
||||||
options.</I></P>
|
options.</I></P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3 align="left"><A name="Delete"></A>Delete Script <IMG src="images/table_row_delete.png"
|
<H3 align="left"><A name="Delete"></A>Delete Script <IMG alt="" src=
|
||||||
border="0"></H3>
|
"images/table_row_delete.png" border="0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Deletes the selected script. You will receive a confirmation
|
<P align="left">Deletes the selected script. You will receive a confirmation
|
||||||
dialog. </P>
|
dialog. </P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<P align="center"><IMG src="images/Delete_Script_Confirm.png" border="0"></P>
|
<P align="center"><IMG alt="" src="images/Delete_Script_Confirm.png" border="0"></P>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left"><I><IMG src="help/shared/note.png" border="0"> <B>This is a <FONT color=
|
<P align="left"><I><IMG alt="" src="help/shared/note.png" border="0"> <B>This is a <FONT
|
||||||
"#ff0000">permanent</FONT> operation.</B></I></P>
|
color="#ff0000">permanent</FONT> operation.</B></I></P>
|
||||||
|
|
||||||
<P align="left">You cannot delete scripts in the <A href="#Script_Directories">system
|
<P align="left">You cannot delete scripts in the <A href="#Script_Directories">system
|
||||||
directory</A>, as this may affect other users. If you attempt to delete a system script,
|
directory</A>, as this may affect other users. If you attempt to delete a system script,
|
||||||
you will receive a warning dialog.
|
you will receive a warning dialog.</P>
|
||||||
</P>
|
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3 align="left"><A name="Rename"></A>Rename Script <IMG src="images/textfield_rename.png" border=
|
<H3 align="left"><A name="Rename"></A>Rename Script <IMG alt="" src=
|
||||||
"0"></H3>
|
"images/textfield_rename.png" border="0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Renames the selected script. When selecting <I>Rename</I>, Ghidra will
|
<P align="left">Renames the selected script. When selecting <I>Rename</I>, Ghidra will
|
||||||
prompt for a new filename.</P>
|
prompt for a new filename.</P>
|
||||||
|
|
||||||
<P align="center"><IMG src="images/Rename.png" border="0"></P>
|
<P align="center"><IMG alt="" src="images/Rename.png" border="0"></P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3 align="left"><A name="New"></A>Create New Script <IMG src="images/script_add.png"
|
<H3 align="left"><A name="New"></A>Create New Script <IMG alt="" src="images/script_add.png"
|
||||||
border="0"></H3>
|
border="0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
@@ -287,41 +311,42 @@
|
|||||||
"../../docs/api/ghidra/app/script/GhidraScriptProvider.html">GhidraScriptProvider</A></CODE>
|
"../../docs/api/ghidra/app/script/GhidraScriptProvider.html">GhidraScriptProvider</A></CODE>
|
||||||
exists, then you will have to choose what type of script to create.</P>
|
exists, then you will have to choose what type of script to create.</P>
|
||||||
|
|
||||||
<P align="center"><IMG src="images/Pick.png" border="0"></P>
|
<P align="center"><IMG alt="" src="images/Pick.png" border="0"></P>
|
||||||
|
|
||||||
<P align="left">See <CODE><A href="ScriptDevelopment.htm">Ghidra Script
|
<P align="left">See <CODE><A href="ScriptDevelopment.htm">Ghidra Script
|
||||||
Development</A></CODE> for details on how to write a script.</P>
|
Development</A></CODE> for details on how to write a script.</P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3 align="left"><A name="Refresh"></A>Refresh Script List <IMG src="Icons.REFRESH_ICON"
|
<H3 align="left"><A name="Refresh"></A>Refresh Script List <IMG alt="" src=
|
||||||
border="0"></H3>
|
"Icons.REFRESH_ICON" border="0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Refreshes the script list by re-scanning the script directories.<BR>
|
<P align="left">Refreshes the script list by re-scanning the script directories.<BR>
|
||||||
</P>
|
</P>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3 align="left"><A name="Script_Directories"></A>Script Directories / Bundle Manager <IMG src=
|
<H3 align="left"><A name="Script_Directories"></A>Script Directories / Bundle
|
||||||
"images/text_list_bullets.png" alt=""></H3>
|
Manager <IMG src="images/text_list_bullets.png" alt=""></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Allows you to add and remove directories to search for
|
<P align="left">Allows you to add and remove directories to search for scripts and other
|
||||||
scripts and other dependencies for use by scripts. The default
|
dependencies for use by scripts. The default directories are your home directory and the
|
||||||
directories are your home directory and the various system directories
|
various system directories (e.g., <TT>$GHIDRA_HOME/Features/Base/ghidra_scripts</TT>). You
|
||||||
(e.g., <tt>$GHIDRA_HOME/Features/Base/ghidra_scripts</tt>). You can
|
can save directories, but ignore them in the Script Manager dialog by selecting/deselecting
|
||||||
save directories, but ignore them in the Script Manager dialog by
|
the "Enable" column checkbox.</P>
|
||||||
selecting/deselecting the "Enable" column checkbox. </P>
|
|
||||||
|
|
||||||
<P align="left">For more information on Ghidra's dynamic module support, see
|
<P align="left">For more information on Ghidra's dynamic module support, see <A href=
|
||||||
<a href="../BundleManager/BundleManager.htm">Ghidra Bundles</A>.</p>
|
"../BundleManager/BundleManager.htm">Ghidra Bundles</A>.</P>
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
|
|
||||||
<DIV align="center">
|
<DIV align="center">
|
||||||
<IMG src="images/Script_Dirs.png" alt="">
|
<IMG src="images/Script_Dirs.png" alt="">
|
||||||
</DIV>
|
</DIV>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<H3 align="left"><A name="Help"></A>Help <IMG src="images/red-cross.png" border="0"></H3>
|
<H3 align="left"><A name="Help"></A>Help <IMG alt="" src="images/red-cross.png" border=
|
||||||
|
"0"></H3>
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<P align="left">Opens the Ghidra help viewer on the GhidraScript API.</P>
|
<P align="left">Opens the Ghidra help viewer on the GhidraScript API.</P>
|
||||||
@@ -334,9 +359,8 @@
|
|||||||
<P class="relatedtopic">Related Topics</P>
|
<P class="relatedtopic">Related Topics</P>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI>
|
<LI><A href="help/topics/Tool/ToolOptions_Dialog.htm#KeyBindings_Option">Key
|
||||||
<A href="help/topics/Tool/ToolOptions_Dialog.htm#KeyBindings_Option">Key Bindings</A>
|
Bindings</A></LI>
|
||||||
</LI>
|
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P> </P>
|
<P> </P>
|
||||||
|
|||||||
@@ -18,8 +18,7 @@ package ghidra.app.script;
|
|||||||
import static ghidra.util.HTMLUtilities.*;
|
import static ghidra.util.HTMLUtilities.*;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.StringTokenizer;
|
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@@ -65,7 +64,7 @@ public class ScriptInfo {
|
|||||||
private String[] category = new String[0];
|
private String[] category = new String[0];
|
||||||
private KeyStroke keyBinding;
|
private KeyStroke keyBinding;
|
||||||
private String keybindingErrorMessage;
|
private String keybindingErrorMessage;
|
||||||
private String[] menupath = new String[0];
|
private String[] menupath = null;
|
||||||
private String toolbar;
|
private String toolbar;
|
||||||
private ImageIcon toolbarImage;
|
private ImageIcon toolbarImage;
|
||||||
private String importpackage;
|
private String importpackage;
|
||||||
@@ -91,7 +90,7 @@ public class ScriptInfo {
|
|||||||
author = null;
|
author = null;
|
||||||
category = new String[0];
|
category = new String[0];
|
||||||
keyBinding = null;
|
keyBinding = null;
|
||||||
menupath = new String[0];
|
menupath = null;
|
||||||
toolbar = null;
|
toolbar = null;
|
||||||
toolbarImage = null;
|
toolbarImage = null;
|
||||||
importpackage = null;
|
importpackage = null;
|
||||||
@@ -459,9 +458,27 @@ public class ScriptInfo {
|
|||||||
*/
|
*/
|
||||||
public String[] getMenuPath() {
|
public String[] getMenuPath() {
|
||||||
parseHeader();
|
parseHeader();
|
||||||
|
if (menupath == null) {
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
list.add("Scripts");
|
||||||
|
for (String name : category) {
|
||||||
|
list.add(name);
|
||||||
|
}
|
||||||
|
list.add(getNameNoExtension());
|
||||||
|
menupath = list.toArray(new String[list.size()]);
|
||||||
|
}
|
||||||
return menupath;
|
return menupath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getNameNoExtension() {
|
||||||
|
String name = getName();
|
||||||
|
int lastIndex = name.lastIndexOf(".");
|
||||||
|
if (lastIndex > 0) {
|
||||||
|
name = name.substring(0, lastIndex);
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the script menu path as a string.
|
* Returns the script menu path as a string.
|
||||||
* For example,{@literal "Path1->Path2->Path3"}.
|
* For example,{@literal "Path1->Path2->Path3"}.
|
||||||
|
|||||||
Reference in New Issue
Block a user