mirror of
https://github.com/hacksysteam/HackSysExtremeVulnerableDriver
synced 2026-06-08 14:31:02 +00:00
61 lines
1.5 KiB
Bash
61 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
if [ "$#" -ne 1 ]; then
|
|
echo "❗ Usage: $0 {install|uninstall}"
|
|
exit 1
|
|
fi
|
|
|
|
CURRENT_DIR=${PWD}
|
|
BUILD_ARCH=x64
|
|
PROJECT_NAME=hevd
|
|
PROJECT_ROOT="$(readlink -f ${CURRENT_DIR}/../)"
|
|
BUILD_DIR="${PROJECT_ROOT}/build/driver/linux/vulnerable/${BUILD_ARCH}"
|
|
MODULE_PATH="${BUILD_DIR}/${PROJECT_NAME}.ko"
|
|
HEVD_DEVICE_PATH="/dev/HackSysExtremeVulnerableDriver"
|
|
|
|
# Run this script as root
|
|
if [ "$(id -u)" != "0" ]; then
|
|
echo "🚫 This script must be run as root"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "${MODULE_PATH}" ]; then
|
|
echo "🔍 Kernel module not found: ${MODULE_PATH}"
|
|
exit 1
|
|
fi
|
|
|
|
case "$1" in
|
|
install)
|
|
# Load the kernel module
|
|
insmod "${MODULE_PATH}"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ Kernel module loaded successfully"
|
|
|
|
# Change the permissions of the device file
|
|
sleep 1
|
|
chmod a+rw "${HEVD_DEVICE_PATH}"
|
|
echo "🔒 Permissions updated: ${HEVD_DEVICE_PATH}"
|
|
else
|
|
echo "❌ Failed to load kernel module: ${MODULE_PATH}"
|
|
exit 1
|
|
fi
|
|
;;
|
|
uninstall|remove)
|
|
# Unload the kernel module
|
|
rmmod "${PROJECT_NAME}"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ Kernel module unloaded successfully"
|
|
else
|
|
echo "❌ Failed to unload kernel module: ${PROJECT_NAME}"
|
|
exit 1
|
|
fi
|
|
;;
|
|
*)
|
|
echo "❗ Invalid option: $1"
|
|
echo "❗ Usage: $0 {install|uninstall}"
|
|
exit 1
|
|
;;
|
|
esac
|