#!/bin/sh # Caveman launcher for the IDA TUI: # # ./ida-tui foo.elf # open a binary and drive it — that's it # # The launcher leases a registered IDA GUI or shared managed idalib worker # through ida_codemode. The selected Python must have ida-tui's dependencies; # override it with $IDATUI_PYTHON. set -eu SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) PY="${IDATUI_PYTHON:-$HOME/ida-venv/bin/python}" if [ ! -x "$PY" ]; then PY=$(command -v python3 || true) [ -n "$PY" ] || { echo "ida-tui: no python found (set \$IDATUI_PYTHON)" >&2; exit 1; } fi # Make `idatui` importable no matter where you invoke this from; binary path # arguments are resolved against your real cwd by the launcher, not $SCRIPT_DIR. exec env PYTHONPATH="$SCRIPT_DIR${PYTHONPATH:+:$PYTHONPATH}" "$PY" -m idatui.launch "$@"