blob: 3709aae56cb24345d7bccc13492fe09018d6b044 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/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 <project_dir> <project_name> <program> <outdir>
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_dir> <project_name> <program> <outdir>}"
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"
|