mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-04-24 03:00:42 -04:00
36 lines
1.3 KiB
Bash
Executable File
36 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#----------------------------------------
|
|
# PyGhidra launch
|
|
#----------------------------------------
|
|
|
|
# Resolve symbolic link if present and get the directory this script lives in.
|
|
# NOTE: "readlink -f" is best but works on Linux only, "readlink" will only work if your PWD
|
|
# contains the link you are calling (which is the best we can do on macOS), and the "echo" is the
|
|
# fallback, which doesn't attempt to do anything with links.
|
|
SCRIPT_FILE="$(readlink -f "$0" 2>/dev/null || readlink "$0" 2>/dev/null || echo "$0")"
|
|
SCRIPT_DIR="$(dirname -- "$SCRIPT_FILE")"
|
|
# Since JPype doesn't seem to pick up JDK_JAVA_OPTIONS automatically, include it ourselves
|
|
VMARG_LIST="${JDK_JAVA_OPTIONS}"
|
|
|
|
# Apply Java options from externally set environment variables
|
|
VMARG_LIST="${VMARG_LIST} ${GHIDRA_JAVA_OPTIONS} ${PYGHIDRA_JAVA_OPTIONS}"
|
|
|
|
# Make sure Python3 is installed
|
|
if ! [ -x "$(command -v python3)" ] ; then
|
|
echo "Python 3 is not installed."
|
|
exit 1
|
|
fi
|
|
|
|
# Dev mode or production mode?
|
|
DEV_ARG=
|
|
INSTALL_DIR="${SCRIPT_DIR}/.."
|
|
if [ ! -d "${INSTALL_DIR}/Ghidra" ]; then
|
|
DEV_ARG="--dev"
|
|
INSTALL_DIR="${SCRIPT_DIR}/../../../.."
|
|
fi
|
|
|
|
PYGHIDRA_LAUNCHER="${INSTALL_DIR}/Ghidra/Features/PyGhidra/support/pyghidra_launcher.py"
|
|
|
|
python3 "${PYGHIDRA_LAUNCHER}" "${INSTALL_DIR}" ${DEV_ARG} ${VMARG_LIST} "$@"
|