Last active
January 29, 2025 21:31
-
-
Save fszf/4fb9787eb4e7f7f557718bd0c8da6a1a to your computer and use it in GitHub Desktop.
build.sh for TheOfficialFl0w PPPwn
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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