Skip to content

Instantly share code, notes, and snippets.

@fszf
Last active January 29, 2025 21:31
Show Gist options
  • Select an option

  • Save fszf/4fb9787eb4e7f7f557718bd0c8da6a1a to your computer and use it in GitHub Desktop.

Select an option

Save fszf/4fb9787eb4e7f7f557718bd0c8da6a1a to your computer and use it in GitHub Desktop.
build.sh for TheOfficialFl0w PPPwn
#!/bin/bash
# Author: fszf
# Version: 0.1
clear
echo -e "\e[1;32m============================================\e[0m"
echo -e "\e[1;34m Build Setup for PPPwn \e[0m"
echo -e "\e[1;32m============================================\e[0m"
check_python() {
if ! command -v python3 &> /dev/null
then
echo -e "\n\e[1;31mPython3 is not installed. Attempting to install Python3...\e[0m"
if command -v apt &> /dev/null; then
sudo apt update && sudo apt install -y python3
elif command -v dnf &> /dev/null; then
sudo dnf install python3
elif command -v zypper &> /dev/null; then
sudo zypper install python3
elif command -v pacman &> /dev/null; then
sudo pacman -S python
else
echo -e "\n\e[1;31mUnable to install Python3 automatically. Please install it manually.\e[0m"
exit 1
fi
if ! command -v python3 &> /dev/null; then
echo -e "\n\e[1;31mPython3 is still not installed. Exiting...\e[0m"
exit 1
fi
fi
}
check_pip() {
if ! command -v pip &> /dev/null
then
echo -e "\n\e[1;31mpip is not installed. Attempting to install pip...\e[0m"
if command -v apt &> /dev/null; then
sudo apt update && sudo apt install -y python3-pip
elif command -v dnf &> /dev/null; then
sudo dnf install python3-pip
elif command -v zypper &> /dev/null; then
sudo zypper install python3-pip
elif command -v pacman &> /dev/null; then
sudo pacman -S python-pip
else
echo -e "\n\e[1;31mUnable to install pip automatically. Please install it manually.\e[0m"
exit 1
fi
if ! command -v pip &> /dev/null; then
echo -e "\n\e[1;31mpip is still not installed. Exiting...\e[0m"
exit 1
fi
fi
}
check_scapy() {
if ! python3 -c "import scapy" &> /dev/null
then
echo -e "\n\e[1;31mScapy is not installed. Attempting to install scapy...\e[0m"
read -p "Do you want to create a virtual environment to install scapy? (y/n): " create_venv
if [[ "$create_venv" =~ ^[Yy]$ ]]
then
echo -e "\n\e[1;34mCreating a virtual environment...\e[0m"
python3 -m venv scapy_venv
source scapy_venv/bin/activate
echo -e "\n\e[1;34mInstalling scapy in the virtual environment...\e[0m"
pip install scapy
if ! python3 -c "import scapy" &> /dev/null; then
echo -e "\n\e[1;31mScapy installation failed. Exiting...\e[0m"
exit 1
fi
echo -e "\n\e[1;32mScapy installed successfully in the virtual environment!\e[0m"
else
echo -e "\n\e[1;31mPlease install scapy manually using pip in a virtual environment or system-wide.\e[0m"
exit 1
fi
fi
}
check_python
check_pip
check_scapy
echo -e "\n\e[1;36mCompatible FW versions:\e[0m"
echo -e "--------------------------------------------"
echo -e "1) \e[1;33mFW 8.00\e[0m"
echo -e "2) \e[1;33mFW 8.01\e[0m"
echo -e "3) \e[1;33mFW 8.03\e[0m"
echo -e "4) \e[1;33mFW 8.50\e[0m"
echo -e "5) \e[1;33mFW 8.52\e[0m"
echo -e "6) \e[1;33mFW 9.00\e[0m"
echo -e "7) \e[1;33mFW 9.03\e[0m"
echo -e "8) \e[1;33mFW 9.04\e[0m"
echo -e "9) \e[1;33mFW 9.50\e[0m"
echo -e "10) \e[1;33mFW 9.51\e[0m"
echo -e "11) \e[1;33mFW 9.60\e[0m"
echo -e "12) \e[1;33mFW 10.00\e[0m"
echo -e "13) \e[1;33mFW 10.01\e[0m"
echo -e "14) \e[1;33mFW 10.50\e[0m"
echo -e "15) \e[1;33mFW 10.70\e[0m"
echo -e "16) \e[1;33mFW 10.71\e[0m"
echo -e "17) \e[1;33mFW 11.00\e[0m"
echo -e "0) \e[1;33mOthers (Enter custom version)\e[0m"
echo -e "--------------------------------------------"
read -p "Enter a number for FW: " num
if [ "$num" -eq 0 ]; then
read -p "Enter the 4-digit firmware version (e.g., 1100 for FW 11.00): " custom_fw
num=$custom_fw
fi
echo -e "\n\e[1;36mAvailable Network Interfaces:\e[0m"
echo -e "--------------------------------------------"
available_interfaces=$(ip link show | grep -oP '^\d+: \K[^:]+')
echo "$available_interfaces"
echo -e "--------------------------------------------"
read -p "Enter network interface (e.g., enp0s3): " interface
if ! echo "$available_interfaces" | grep -q "$interface"; then
echo -e "\n\e[1;31mInvalid network interface selected. Exiting...\e[0m"
exit 1
fi
echo -e "\nRunning exploit with selected parameters...\n"
if [[ "$create_venv" =~ ^[Yy]$ ]]; then
sudo scapy_venv/bin/python3 pppwn.py --interface="$interface" --fw="$num"
else
sudo python3 pppwn.py --interface="$interface" --fw="$num"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment