#!/usr/bin/env bash set -euo pipefail script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P) original_dir=$(cd -- "$script_dir/.." && pwd -P) trace_build_dir=$(mktemp -d /tmp/tdkpin-trace.XXXXXX) trace_library="$trace_build_dir/allow_ptrace.so" cleanup() { rm -f -- "$trace_library" rmdir -- "$trace_build_dir" 2>/dev/null || true } trap cleanup EXIT cc -shared -fPIC -O2 -Wall -Wextra -Werror -pthread \ -o "$trace_library" "$script_dir/allow_ptrace.c" echo "Launching traceable TDKPIN.EXE; attach to the winevdm.exe Linux PID." >&2 LD_PRELOAD="$trace_library${LD_PRELOAD:+:$LD_PRELOAD}" \ wine "$original_dir/TDKPIN.EXE"