From 87db26d487f80e0f0954ca6f294cbd076f822b03 Mon Sep 17 00:00:00 2001 From: Dan <46821332+nsadeveloper789@users.noreply.github.com> Date: Thu, 8 May 2025 18:30:58 +0000 Subject: [PATCH] GP-5551: Detect and offer installation of missing Python packages. --- .../data/debugger-launchers/kernel-dbgeng.bat | 4 +- .../local-dbgeng-attach.bat | 4 +- .../debugger-launchers/local-dbgeng-ext.bat | 4 +- .../debugger-launchers/local-dbgeng-trace.bat | 4 +- .../data/debugger-launchers/local-dbgeng.bat | 2 +- .../data/debugger-launchers/remote-dbgeng.bat | 4 +- .../data/debugger-launchers/svrcx-dbgeng.bat | 4 +- .../data/support/kernel-dbgeng.py | 36 +-- .../data/support/local-dbgeng-attach.py | 35 +-- .../data/support/local-dbgeng-ext.py | 43 ++- .../data/support/local-dbgeng-trace.py | 28 +- .../data/support/local-dbgeng.py | 37 +-- .../data/support/remote-dbgeng.py | 33 +- .../data/support/standalone_listener.py | 37 +-- .../data/support/svrcx-dbgeng.py | 61 ++-- .../src/main/py/src/ghidradbg/__init__.py | 7 +- .../data/debugger-launchers/core-drgn.sh | 2 +- .../data/debugger-launchers/kernel-drgn.sh | 2 +- .../Debugger-agent-gdb/certification.manifest | 9 +- .../data/debugger-launchers/local-gdb.bat | 75 ----- .../data/debugger-launchers/local-gdb.ps1 | 33 ++ .../data/debugger-launchers/local-gdb.sh | 62 +--- .../data/debugger-launchers/local-rr.sh | 23 +- .../data/debugger-launchers/qemu-gdb.sh | 58 ++-- .../data/debugger-launchers/qemu-sys-gdb.bat | 60 ---- .../data/debugger-launchers/qemu-sys-gdb.ps1 | 52 ++++ .../data/debugger-launchers/qemu-sys-gdb.sh | 61 ++-- .../data/debugger-launchers/remote-gdb.ps1 | 49 +-- .../data/debugger-launchers/remote-gdb.sh | 49 +-- .../data/debugger-launchers/ssh-gdb.bat | 62 ---- .../data/debugger-launchers/ssh-gdb.ps1 | 70 +++++ .../data/debugger-launchers/ssh-gdb.sh | 89 ++++-- .../data/debugger-launchers/ssh-gdbserver.bat | 53 ---- .../data/debugger-launchers/ssh-gdbserver.ps1 | 37 +++ .../data/debugger-launchers/ssh-gdbserver.sh | 44 +-- .../data/debugger-launchers/wine-gdb.sh | 51 +-- .../data/support/gdbsetuputils.ps1 | 92 ++++++ .../data/support/gdbsetuputils.sh | 125 ++++++++ .../certification.manifest | 9 +- .../data/debugger-launchers/android-lldb.bat | 95 ------ .../data/debugger-launchers/android-lldb.ps1 | 34 ++ .../data/debugger-launchers/android-lldb.sh | 56 +--- .../data/debugger-launchers/kernel-lldb.bat | 48 --- .../data/debugger-launchers/kernel-lldb.ps1 | 27 ++ .../data/debugger-launchers/kernel-lldb.sh | 42 +-- .../data/debugger-launchers/local-lldb.bat | 64 ---- .../data/debugger-launchers/local-lldb.ps1 | 30 ++ .../data/debugger-launchers/local-lldb.sh | 60 +--- .../data/debugger-launchers/remote-lldb.ps1 | 44 +-- .../data/debugger-launchers/remote-lldb.sh | 45 +-- .../data/debugger-launchers/ssh-lldb.bat | 51 --- .../data/debugger-launchers/ssh-lldb.ps1 | 69 +++++ .../data/debugger-launchers/ssh-lldb.sh | 79 +++-- .../data/support/lldbsetuputils.ps1 | 106 +++++++ .../data/support/lldbsetuputils.sh | 129 ++++++++ .../src/main/py/MANIFEST.in | 2 +- .../services/DebuggerAutoMappingService.java | 7 + .../ghidra/debug/api/control/ControlMode.java | 16 +- .../data/debugger-launchers/attach-java.jsh | 2 +- .../data/debugger-launchers/bypid-java.jsh | 2 +- .../data/debugger-launchers/local-java.jsh | 2 +- .../Debugger-rmi-trace/certification.manifest | 1 + .../data/support/gmodutils.py | 42 +++ .../data/support/setuputils.ps1 | 97 ++++++ .../data/support/setuputils.sh | 135 ++++++++ .../launcher/AbstractTraceRmiLaunchOffer.java | 2 +- .../gui/tracermi/launcher/LaunchAction.java | 8 +- .../PowerShellScriptTraceRmiLaunchOffer.java | 2 +- .../launcher/ScriptAttributesParser.java | 3 +- .../TraceRmiLauncherServicePlugin.java | 15 +- .../tracermi/AbstractTraceRmiConnection.java | 13 +- .../src/main/py/pyproject.toml | 2 +- .../src/main/py/src/ghidratrace/__init__.py | 26 +- .../src/main/py/src/ghidratrace/client.py | 13 +- .../src/main/py/src/ghidratrace/setuputils.py | 124 ++++++++ .../gui/modules/DebuggerModulesProvider.java | 1 + .../java/ghidra/pty/windows/ConPtyChild.java | 4 +- .../java/agent/gdb/rmi/GdbConnectorsTest.java | 266 ++++++++++++++++ .../agent/lldb/rmi/LldbConnectorsTest.java | 291 ++++++++++++++++++ 79 files changed, 2290 insertions(+), 1275 deletions(-) delete mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/local-gdb.bat create mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/local-gdb.ps1 delete mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-sys-gdb.bat create mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-sys-gdb.ps1 delete mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdb.bat create mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdb.ps1 delete mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdbserver.bat create mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdbserver.ps1 create mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/support/gdbsetuputils.ps1 create mode 100644 Ghidra/Debug/Debugger-agent-gdb/data/support/gdbsetuputils.sh delete mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/android-lldb.bat create mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/android-lldb.ps1 delete mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/kernel-lldb.bat create mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/kernel-lldb.ps1 delete mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/local-lldb.bat create mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/local-lldb.ps1 delete mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/ssh-lldb.bat create mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/ssh-lldb.ps1 mode change 100644 => 100755 Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/ssh-lldb.sh create mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/support/lldbsetuputils.ps1 create mode 100644 Ghidra/Debug/Debugger-agent-lldb/data/support/lldbsetuputils.sh create mode 100644 Ghidra/Debug/Debugger-rmi-trace/data/support/gmodutils.py create mode 100644 Ghidra/Debug/Debugger-rmi-trace/data/support/setuputils.ps1 create mode 100644 Ghidra/Debug/Debugger-rmi-trace/data/support/setuputils.sh create mode 100644 Ghidra/Debug/Debugger-rmi-trace/src/main/py/src/ghidratrace/setuputils.py create mode 100644 Ghidra/Test/DebuggerIntegrationTest/src/test.slow/java/agent/gdb/rmi/GdbConnectorsTest.java create mode 100644 Ghidra/Test/DebuggerIntegrationTest/src/test.slow/java/agent/lldb/rmi/LldbConnectorsTest.java diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/kernel-dbgeng.bat b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/kernel-dbgeng.bat index 1b1d5ee79c..f454e638b0 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/kernel-dbgeng.bat +++ b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/kernel-dbgeng.bat @@ -1,4 +1,4 @@ -::@title dbgeng-kernel +::@title dbgeng kernel ::@desc
::@desc@@ -6,7 +6,7 @@ ::@desc For setup instructions, press F1. ::@desc
::@desc -::@menu-group local +::@menu-group dbgeng ::@icon icon.debugger ::@help dbgeng#win_kernel ::@enum Connection:str Remote Local EXDI diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng-attach.bat b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng-attach.bat index a55e48385b..fa79e59322 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng-attach.bat +++ b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng-attach.bat @@ -1,4 +1,4 @@ -::@title dbgeng-attach +::@title dbgeng attach ::@desc ::@desc@@ -6,7 +6,7 @@ ::@desc For setup instructions, press F1. ::@desc
::@desc -::@menu-group local +::@menu-group dbgeng ::@icon icon.debugger ::@help dbgeng#attach ::@env OPT_PYTHON_EXE:file!="python" "Python command" "The path to the Python 3 interpreter. Omit the full path to resolve using the system PATH." diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng-ext.bat b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng-ext.bat index 570325f1b8..9f4330ad91 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng-ext.bat +++ b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng-ext.bat @@ -1,4 +1,4 @@ -::@title dbgeng-ext +::@title dbgeng extra options ::@image-opt env:OPT_TARGET_IMG ::@desc ::@desc@@ -6,7 +6,7 @@ ::@desc For setup instructions, press F1. ::@desc
::@desc -::@menu-group local +::@menu-group dbgeng ::@icon icon.debugger ::@help dbgeng#ttd ::@env OPT_PYTHON_EXE:file!="python" "Python command" "The path to the Python 3 interpreter. Omit the full path to resolve using the system PATH." diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng.bat b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng.bat index be4136c9a0..f2a17af3e9 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng.bat +++ b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng.bat @@ -7,7 +7,7 @@ ::@desc For setup instructions, press F1. ::@desc ::@desc