#!/usr/bin/env bash #---------------------------------------- # Build a Ghidra jar #---------------------------------------- # Maximum heap memory may be changed if default is inadequate. This will generally be up to 1/4 of # the physical memory available to the OS. Uncomment MAXMEM setting if non-default value is needed. #MAXMEM=2G # Launch mode can be changed to one of the following: fg, debug, debug-suspend LAUNCH_MODE=fg # 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="${SCRIPT_FILE%/*}" GHIDRA_ROOT_DIR="${SCRIPT_DIR}"/../Ghidra if [ ! -d "${GHIDRA_ROOT_DIR}" ]; then echo "This script does not support development mode use" exit 1 fi # Set required VMARGS for jar builder application APP_VMARGS="-DGhidraJarBuilder.Name=$(basename "${SCRIPT_FILE}")" # Launch jar builder "${SCRIPT_DIR}"/launch.sh "${LAUNCH_MODE}" jdk Ghidra "${MAXMEM}" "${APP_VMARGS}" ghidra.util.GhidraJarBuilder -main ghidra.JarRun "$@"