├── README.md ├── bypass_scripts ├── mobileactivationd_12_4_7 │ ├── mobileactivationd │ └── run.sh └── mobileactivationd_13_x │ ├── mobileactivationd │ └── run.sh └── hacktivation.sh /README.md: -------------------------------------------------------------------------------- 1 | # iOS Hacktivation Toolkit 2 | 3 | ### WORKING ON THE LATEST iOS FIRMWARE CURRENTLY AVAILABLE (iOS 13.6.1) 4 | 5 | This is an iOS Activation Lock Bypass Tool. I wrote this tool mainly because there is nothing out there for Linux (that i could find anyway). 6 | 7 | Looking for developers! This is a work in progress. If you think you can add to this project please get in touch! 8 | 9 | ### Screenshot 10 | 11 | ![img](https://i.imgur.com/5KQOlSb.png) 12 | 13 | ### Supported Devices 14 | 15 | ``` 16 | iPhone X 17 | iPhone 8 18 | iPhone 7 19 | iPhone SE 20 | iPhone 6s 21 | iPhone 6 22 | iPhone 5s 23 | 24 | iPad Pro (2015 & 2017 models) 25 | iPad 5th/6th/7th Generation 26 | iPad Mini 4 27 | iPad Air 2 28 | iPad Air 1 (WiFi) 29 | iPad Mini 3 30 | iPad Mini 2 (WiFi) 31 | 32 | iPod Touch 7th Generation 33 | iPod Touch 6th Generation 34 | iPod Touch 3rd Generation 35 | iPod Touch 2nd Generation 36 | iPod Touch 1st Generation 37 | ``` 38 | 39 | ### Features 40 | 41 | 42 | ``` 43 | - Firmware Restore / Upgrade 44 | - Jailbreak (checkra1n) 45 | - Activation Lock Bypass for all checkm8 vulnerable devices 46 | ``` 47 | 48 | ### Install 49 | 50 | UBUNTU LIVE USB USERS WILL NEED TO ENABLE SOFTWARE REPOS IN SOFTWARE & UPDATES 51 | 52 | ![img](https://i.imgur.com/05scg8J.png) 53 | 54 | 55 | ``` 56 | sudo apt install git 57 | git clone https://github.com/exploit-development/iOS-Hacktivation-Toolkit.git 58 | cd iOS-Hacktivation-Toolkit/ 59 | chmod +x hacktivation.sh 60 | sudo ./hacktivation.sh 61 | ``` 62 | 63 | Tested on Debian 10 and Ubuntu 20.04 64 | 65 | Looking for developers! This is a work in progress. If you think you can add to this project please get in touch! 66 | 67 | -------------------------------------------------------------------------------- /bypass_scripts/mobileactivationd_12_4_7/mobileactivationd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intelligencegroup-io/iOS-Hacktivation-Toolkit/e3c8ddee3f0e3367709a9d4a0fe03306e88c979b/bypass_scripts/mobileactivationd_12_4_7/mobileactivationd -------------------------------------------------------------------------------- /bypass_scripts/mobileactivationd_12_4_7/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm ~/.ssh/known_hosts >/dev/null 2>&1 4 | pgrep -f 'tcprelay.py' | xargs kill >/dev/null 2>&1 5 | python iphonessh/python-client/tcprelay.py -t 44:2222 & 6 | sleep 2 7 | while true ; do 8 | result=$(ssh -p 2222 -o BatchMode=yes -o ConnectTimeout=1 root@localhost echo ok 2>&1 | grep Connection) # -n shows line number 9 | echo "DEBUG: WAITING FOR CONNECTION, PLEASE DISCONNECT AND RE-CONNECT USB CABLE" 10 | sleep 1 11 | if [ -z "$result" ] ; then 12 | echo 'CONNECTED TO DEVICE!' 13 | echo 'CONTINUE TO THE CHOOSE A WIFI NETWORK SCREEN BUT DO NOT CONNECT TO A NETWORK' 14 | read -p 'PRESS ENTER TO CONTINUE' 15 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 mount -o rw,union,update / 16 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 launchctl unload /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 17 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 rm /usr/libexec/mobileactivationd 18 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 uicache --all 19 | sshpass -p 'alpine' scp -P 2222 bypass_scripts/mobileactivationd_12_4_7/mobileactivationd root@localhost:/usr/libexec/mobileactivationd 20 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 chmod 755 /usr/libexec/mobileactivationd 21 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 launchctl load /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 22 | pgrep -f 'tcprelay.py' | xargs kill >/dev/null 2>&1 23 | echo 'CHOOSE CONNECT TO ITUNES OPTION ON DEVICE TO COMPLETE BYPASS' 24 | break 25 | fi 26 | done 27 | 28 | read -p "RETURN TO MENU? [ Y / N ] : " check 29 | 30 | if [ $check = "Y" ]; then 31 | bash hacktivation.sh 32 | elif [ $check = "y" ]; then 33 | bash hacktivation.sh 34 | elif [ $check = "Yes" ]; then 35 | bash hacktivation.sh 36 | elif [ $check = "yes" ]; then 37 | bash hacktivation.sh 38 | elif [ $check = "YES" ]; then 39 | bash hacktivation.sh 40 | else 41 | exit 1 42 | fi 43 | -------------------------------------------------------------------------------- /bypass_scripts/mobileactivationd_13_x/mobileactivationd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intelligencegroup-io/iOS-Hacktivation-Toolkit/e3c8ddee3f0e3367709a9d4a0fe03306e88c979b/bypass_scripts/mobileactivationd_13_x/mobileactivationd -------------------------------------------------------------------------------- /bypass_scripts/mobileactivationd_13_x/run.sh: -------------------------------------------------------------------------------- 1 | rm ~/.ssh/known_hosts >/dev/null 2>&1 2 | pgrep -f 'tcprelay.py' | xargs kill >/dev/null 2>&1 3 | python iphonessh/python-client/tcprelay.py -t 44:2222 & 4 | sleep 1 5 | while true ; do 6 | result=$(ssh -p 2222 -o BatchMode=yes -o ConnectTimeout=1 root@localhost echo ok 2>&1 | grep Connection) # -n shows line number 7 | echo "DEBUG: WAITING FOR CONNECTION, PLEASE DISCONNECT AND RE-CONNECT USB CABLE" 8 | sleep 1 9 | if [ -z "$result" ] ; then 10 | echo 'CONNECTED TO DEVICE!' 11 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 mount -o rw,union,update / 12 | sshpass -p 'alpine' scp -P 2222 bypass_scripts/mobileactivationd_13_x/mobileactivationd root@localhost:/usr/libexec/mobileactivationd 13 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 chmod 755 /usr/libexec/mobileactivationd 14 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 launchctl unload /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 15 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 launchctl load /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 16 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 uicache -a 17 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 killall backboardd 18 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 killall SpringBoard 19 | pgrep -f 'tcprelay.py' | xargs kill >/dev/null 2>&1 20 | break 21 | fi 22 | done 23 | 24 | read -p "RETURN TO MENU? [ Y / N ] : " check 25 | 26 | if [ $check = "Y" ]; then 27 | bash hacktivation.sh 28 | elif [ $check = "y" ]; then 29 | bash hacktivation.sh 30 | elif [ $check = "Yes" ]; then 31 | bash hacktivation.sh 32 | elif [ $check = "yes" ]; then 33 | bash hacktivation.sh 34 | elif [ $check = "YES" ]; then 35 | bash hacktivation.sh 36 | else 37 | exit 1 38 | fi 39 | -------------------------------------------------------------------------------- /hacktivation.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #This program is free software: you can redistribute it and/or modify 4 | #it under the terms of the GNU General Public License as published by 5 | #the Free Software Foundation, either version 3 of the License, or 6 | #(at your option) any later version. 7 | 8 | #This program is distributed in the hope that it will be useful, 9 | #but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | #GNU General Public License for more details. 12 | 13 | #You should have received a copy of the GNU General Public License 14 | #along with this program. If not, see . 15 | 16 | 17 | #COLOURS 18 | RED="\033[1;31m" 19 | GREEN="\033[1;32m" 20 | YELLOW="\033[1;33m" 21 | CYAN="\033[0;36m" 22 | NC="\e[0m" 23 | 24 | 25 | ########################### 26 | #ROOT PRIVILEGES 27 | ########################### 28 | 29 | if [[ $EUID -ne 0 ]]; then 30 | echo -e "$RED You don't have root privileges, execute the script as root.$NC" 31 | exit 1 32 | fi 33 | 34 | clear 35 | 36 | 37 | ########################### 38 | # Functions 39 | ########################### 40 | 41 | # Continue or Exit 42 | function continueOrExit() { 43 | echo "" 44 | read -p "Complete! Back To Menu? [ Y / n ] : " CHECK 45 | if [[ "$CHECK" = "Y" || "$CHECK" = "y" || "$CHECK" = "Yes" || "$CHECK" = "yes" || "$CHECK" = "YES" ]]; then 46 | bash hacktivation.sh 47 | else 48 | echo -e "$RED Program Exit ...$NC" 49 | exit 1 50 | fi 51 | } 52 | 53 | ########################### 54 | #MENU 55 | ########################### 56 | 57 | echo -e "$GREEN" 58 | 59 | echo " **********************************************************************" 60 | echo " ********************** iOS Hacktivation Toolkit **********************" 61 | echo -e " **********************************************************************$NC" 62 | echo -e " [+]$GREEN This software is maintained by Codesecure codesecure.org$NC [+]" 63 | 64 | ActivationState=$(ideviceinfo | grep ActivationState: | awk '{print $NF}') 65 | DeviceName=$(ideviceinfo | grep DeviceName | awk '{print $NF}') 66 | UniqueDeviceID=$(ideviceinfo | grep UniqueDeviceID | awk '{print $NF}') 67 | SerialNumber=$(ideviceinfo | grep -w SerialNumber | awk '{print $NF}') 68 | ProductType=$(ideviceinfo | grep ProductType | awk '{print $NF}') 69 | ProductVersion=$(ideviceinfo | grep ProductVersion | awk '{print $NF}') 70 | 71 | if test -z "$ActivationState" 72 | then 73 | echo ' ----------------------------------------------------------------------' 74 | echo -e "$RED CANNOT CONNECT TO DEVICE$NC " 75 | echo ' ----------------------------------------------------------------------' 76 | else 77 | echo ' ----------------------------------------------------------------------' 78 | echo -e "$GREEN Serial Number : $SerialNumber $NC$GREEN Device : $ProductType $NC$GREEN Firmware : $ProductVersion $NC" 79 | echo ' ----------------------------------------------------------------------' 80 | fi 81 | 82 | echo -e "$YELLOW Select an option from the menu : $NC" 83 | echo ' ----------------------------------------------------------------------' 84 | echo -e "$CYAN 1 : Complete Installation$NC" 85 | echo -e "$CYAN 2 : Factory Reset (Restore iDevice)$NC" 86 | echo -e "$CYAN 3 : Jailbreak (checkra1n)$NC" 87 | echo -e "$CYAN 4 : Tethered Bypass iOS 13.0 > [PATCHED MOBILEACTIVATIOND]$NC" 88 | echo -e "$CYAN 5 : Tethered Bypass iOS 12.4.7 > [PATCHED MOBILEACTIVATIOND]$NC" 89 | echo -e "$CYAN 6 : SSH Shell$NC" 90 | echo -e "$CYAN 0 : Exit$NC" 91 | echo ' ----------------------------------------------------------------------' 92 | read -p " Choose > " ch 93 | 94 | ########################### 95 | #INSTALL 96 | ########################### 97 | 98 | if [ $ch = 1 ]; then 99 | 100 | echo "deb https://assets.checkra.in/debian /" | sudo tee -a /etc/apt/sources.list 101 | apt-key adv --fetch-keys https://assets.checkra.in/debian/archive.key 102 | apt update 103 | apt install -y python libtool-bin libcurl4-openssl-dev libplist-dev libzip-dev openssl libssl-dev libcurl4-openssl-dev libimobiledevice-dev libusb-1.0-0-dev libreadline-dev build-essential git make autoconf automake libxml2-dev libtool pkg-config checkra1n sshpass checkinstall 104 | git clone 'https://github.com/libimobiledevice/libirecovery' 105 | git clone 'https://github.com/libimobiledevice/libideviceactivation.git' 106 | git clone 'https://github.com/libimobiledevice/idevicerestore' 107 | git clone 'https://github.com/libimobiledevice/usbmuxd' 108 | git clone 'https://github.com/libimobiledevice/libimobiledevice' 109 | git clone 'https://github.com/libimobiledevice/libusbmuxd' 110 | git clone 'https://github.com/libimobiledevice/libplist' 111 | git clone 'https://github.com/rcg4u/iphonessh.git' 112 | cd ./libplist && ./autogen.sh --without-cython && sudo make install && cd .. 113 | cd ./libusbmuxd && ./autogen.sh && sudo make install && cd .. 114 | cd ./libimobiledevice && ./autogen.sh --without-cython && sudo make install && cd .. 115 | cd ./usbmuxd && ./autogen.sh && sudo make install && cd .. 116 | cd ./libirecovery && ./autogen.sh && sudo make install && cd .. 117 | cd ./idevicerestore && ./autogen.sh && sudo make install && cd .. 118 | cd ./libideviceactivation/ && ./autogen.sh && sudo make && sudo make install && cd .. 119 | sudo ldconfig 120 | continueOrExit 121 | 122 | ########################### 123 | #RESTORE 124 | ########################### 125 | 126 | elif [ $ch = 2 ]; then 127 | 128 | idevicerestore -e -l 129 | continueOrExit 130 | 131 | ########################### 132 | #CHECKRA1N 133 | ########################### 134 | 135 | elif [ $ch = 3 ]; then 136 | 137 | checkra1n 138 | continueOrExit 139 | 140 | ########################### 141 | #IOS 13 > MOBILEACTIVATIOND 142 | ########################### 143 | 144 | elif [ $ch = 4 ]; then 145 | 146 | bypass_scripts/mobileactivationd_13_x/./run.sh 147 | continueOrExit 148 | 149 | ########################### 150 | #IOS 12.4.7 > MOBILEACTIVATIOND 151 | ########################### 152 | 153 | elif [ $ch = 5 ]; then 154 | 155 | bypass_scripts/mobileactivationd_12_4_7/./run.sh 156 | continueOrExit 157 | 158 | ########################### 159 | #SSH SHELL 160 | ########################### 161 | elif [ $ch = 6 ]; then 162 | 163 | echo "" 164 | rm ~/.ssh/known_hosts >/dev/null 2>&1 165 | pgrep -f 'tcprelay.py' | xargs kill >/dev/null 2>&1 166 | python iphonessh/python-client/tcprelay.py -t 44:2222 >/dev/null 2>&1 & 167 | sleep 2 168 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 mount -o rw,union,update / 169 | sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no root@localhost -p 2222 170 | pgrep -f 'tcprelay.py' | xargs kill >/dev/null 2>&1 171 | continueOrExit 172 | 173 | elif [ $ch == 0 ]; then 174 | echo -e "$RED Program Exit ...$NC" 175 | exit 1 176 | else 177 | echo "Option not found. Exiting" 178 | fi 179 | --------------------------------------------------------------------------------