#!/bin/bash # SPDX-License-Identifier: BSD-3-Clause # # ghidra_export_index.sh - export the complete function/symbol/callgraph/ # string index of an analyzed CUDA program. # # Usage: ghidra_export_index.sh set -euo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" GHIDRA_HOME="${GHIDRA_HOME:-/snap/ghidra/current/ghidra}" ANALYZE="$GHIDRA_HOME/support/analyzeHeadless" export GHIDRA_HEADLESS_MAXMEM="${GHIDRA_HEADLESS_MAXMEM:-12G}" PROJECT_DIR="${1:?usage: $0 }" PROJECT_NAME="${2:?}" PROGRAM="${3:?}" OUTDIR="${4:?}" mkdir -p "$OUTDIR" "$ANALYZE" "$PROJECT_DIR" "$PROJECT_NAME" \ -process "$PROGRAM" \ -readOnly -noanalysis \ -scriptPath "$HERE/ghidra" \ -postScript ExportFunctionIndex.java "$OUTDIR" echo "[ok] index written to $OUTDIR"