Enable Ghidra's Developer plugin package in the CodeBrowser
Ghidra installs its default tools into the user settings on first start, and those settings are reset on every container start. So the build patches defaultTools/CodeBrowser.tool inside Public_Release.jar to include <PACKAGE NAME="Developer" />, and fails if the line could not be inserted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+13
@@ -52,6 +52,19 @@ RUN apt-get update \
|
||||
&& ln -s /opt/ghidra/ghidraRun /usr/local/bin/ghidra
|
||||
ENV GHIDRA_INSTALL_DIR=/opt/ghidra
|
||||
|
||||
# Enable the "Developer" plugin package (File > Configure > Developer) in the
|
||||
# CodeBrowser. Ghidra copies its default tools into the user's settings on
|
||||
# first start, and settings are reset on every container start, so the
|
||||
# default CodeBrowser.tool inside the jar is patched instead of user config.
|
||||
# The build fails if the line could not be inserted.
|
||||
RUN set -e; cd /tmp \
|
||||
&& jar_file=/opt/ghidra/Ghidra/Configurations/Public_Release/lib/Public_Release.jar \
|
||||
&& unzip -q "$jar_file" defaultTools/CodeBrowser.tool \
|
||||
&& sed -i '0,/<ROOT_NODE/s//<PACKAGE NAME="Developer" \/>\n <ROOT_NODE/' defaultTools/CodeBrowser.tool \
|
||||
&& grep -q '<PACKAGE NAME="Developer" />' defaultTools/CodeBrowser.tool \
|
||||
&& jar uf "$jar_file" defaultTools/CodeBrowser.tool \
|
||||
&& rm -r /tmp/defaultTools
|
||||
|
||||
# Ubuntu 24.04 ships a default "ubuntu" user on UID 1000; replace it.
|
||||
RUN if id ubuntu >/dev/null 2>&1; then userdel -r ubuntu; fi \
|
||||
&& groupadd -g "${USER_GID}" "${USER_NAME}" \
|
||||
|
||||
Reference in New Issue
Block a user