release ver

This commit is contained in:
2026-05-15 21:14:16 +03:00
parent 9a4ab6a592
commit 57dae6ffb5
3 changed files with 55 additions and 18 deletions

38
unload.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/bin/bash
# Попытка выгрузить библиотеку, загруженную через gdb/dlopen в процессе hl_linux.
# Для этого ищем путь модуля в /proc/<pid>/maps и вызываем dlclose через gdb.
GAME_PID=$(pidof hl_linux | awk '{print $1}')
if [ -z "$GAME_PID" ]; then
echo "[-] Ошибка: процесс hl_linux не запущен."
exit 1
fi
LIB_PATH=$(grep -Eo '/tmp/libahc_rs_[^ ]+\.so|.*/libahc_rs\.so' /proc/$GAME_PID/maps | head -n 1)
if [ -z "$LIB_PATH" ]; then
echo "[-] Не удалось найти загруженную библиотеку libahc_rs в процессе $GAME_PID."
echo " Убедитесь, что вы сначала загрузили библиотеку через load.sh."
exit 1
fi
GDB_CMD=$(mktemp)
cat > "$GDB_CMD" <<'EOF'
attach $GAME_PID
set $h = (void*)dlopen("$LIB_PATH", 4)
if $h
call (int)dlclose($h)
end
detach
quit
EOF
sudo gdb -batch -x "$GDB_CMD"
RESULT=$?
rm -f "$GDB_CMD"
if [ $RESULT -eq 0 ]; then
echo "[+] Выгрузка библиотеки завершена."
else
echo "[-] Ошибка при выгрузке. Проверьте вывод gdb и права sudo."
fi