diff --git a/README.md b/README.md index ec22891..bd89c44 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,10 @@ ### Automated Method - Linux/macOS (Recommended) 1. **Jailbreak** with Checkra1n 0.10.2 2. **Run** setup and transfer scripts: + ```bash + ./activation.sh + ``` + Or use a step-by-step approach: ```bash # Terminal 1: Start proxy ./setup_proxy.sh @@ -65,7 +69,7 @@ # Back in Terminal 2 SSH session ./finalize_bypass.sh ``` -3. **Complete** by tapping "Connect to iTunes" +4. **Complete** by tapping "Connect to iTunes" ### Automated Method - Windows 1. **Jailbreak** with Checkra1n 0.10.2 diff --git a/activation.sh b/activation.sh new file mode 100644 index 0000000..624c982 --- /dev/null +++ b/activation.sh @@ -0,0 +1,67 @@ +#!/bin/bash +cd $(dirname "$0") + +sed '/localhost]:2222/d' ~/.ssh/known_hosts | sed '/127.0.0.1]:2222/d' > ~/.ssh/known_hosts_tmp +mv ~/.ssh/known_hosts_tmp ~/.ssh/known_hosts + +killall iproxy >& /dev/null + +./setup_proxy.sh > /dev/null & sleep 3 + +if pgrep -l iproxy > /dev/null; then + echo "[*] Starting iProxy..." +else + echo "[!] No device detected. Please connect your jailbroken device." + echo "" + exit 1 +fi + +if command -v sshpass &> /dev/null; then + USE_SSHPASS=true + echo "[*] Using sshpass for automated transfer" +else + USE_SSHPASS=false + echo "[*] sshpass not found - you'll need to enter password manually" +fi + +if [ "$USE_SSHPASS" = true ]; then + sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no -p2222 root@localhost " + mount -o rw,union,update / && + launchctl unload /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist && + rm /usr/libexec/mobileactivationd && + uicache --all + " + + sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no -p2222 root@localhost "dd of=/usr/libexec/mobileactivationd" < ./mobileactivationd + + sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no -p2222 root@localhost " + chmod 755 /usr/libexec/mobileactivationd && + launchctl load /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist + uicache --all + " +else + echo "Enter Password: alpine" + ssh -o StrictHostKeyChecking=no -p2222 root@localhost " + mount -o rw,union,update / && + launchctl unload /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist && + rm /usr/libexec/mobileactivationd && + uicache --all + " + + echo "Enter Password: alpine" + ssh -o StrictHostKeyChecking=no -p2222 root@localhost "dd of=/usr/libexec/mobileactivationd" < ./mobileactivationd + + echo "Enter Password: alpine" + ssh -o StrictHostKeyChecking=no -p2222 root@localhost " + chmod 755 /usr/libexec/mobileactivationd && + launchctl load /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist + uicache --all + " +fi + +killall iproxy > /dev/null + +echo "All done" +echo "FINAL STEP:" +echo "On the device, tap 'Connect to iTunes' at the bottom" +echo "of the 'Choose a Wi-Fi Network' page to complete the bypass." diff --git a/transfer_files.sh b/transfer_files.sh index 528f089..f97ca15 100755 --- a/transfer_files.sh +++ b/transfer_files.sh @@ -47,10 +47,10 @@ transfer_file() { echo "[*] Transferring $file to $dest..." if [ "$USE_SSHPASS" = true ]; then - sshpass -p "$SSH_PASS" scp -P "$SSH_PORT" -o StrictHostKeyChecking=no "$file" "${SSH_USER}@${SSH_HOST}:${dest}" + sshpass -p "$SSH_PASS" scp -O -P "$SSH_PORT" -o StrictHostKeyChecking=no "$file" "${SSH_USER}@${SSH_HOST}:${dest}" else echo " Password: alpine" - scp -P "$SSH_PORT" -o StrictHostKeyChecking=no "$file" "${SSH_USER}@${SSH_HOST}:${dest}" + scp -O -P "$SSH_PORT" -o StrictHostKeyChecking=no "$file" "${SSH_USER}@${SSH_HOST}:${dest}" fi if [ $? -eq 0 ]; then diff --git a/transfer_patch.sh b/transfer_patch.sh index 208eaff..9c37337 100755 --- a/transfer_patch.sh +++ b/transfer_patch.sh @@ -28,11 +28,11 @@ echo "" # Check if sshpass is available if command -v sshpass &> /dev/null; then echo "[*] Using sshpass for automated transfer" - sshpass -p "$SSH_PASS" scp -P "$SSH_PORT" -o StrictHostKeyChecking=no "$PATCH_FILE" "${SSH_USER}@${SSH_HOST}:${DEST_PATH}" + sshpass -p "$SSH_PASS" scp -O -P "$SSH_PORT" -o StrictHostKeyChecking=no "$PATCH_FILE" "${SSH_USER}@${SSH_HOST}:${DEST_PATH}" else echo "[*] Enter password when prompted" echo " Password: alpine" - scp -P "$SSH_PORT" -o StrictHostKeyChecking=no "$PATCH_FILE" "${SSH_USER}@${SSH_HOST}:${DEST_PATH}" + scp -O -P "$SSH_PORT" -o StrictHostKeyChecking=no "$PATCH_FILE" "${SSH_USER}@${SSH_HOST}:${DEST_PATH}" fi if [ $? -eq 0 ]; then @@ -50,7 +50,7 @@ else echo "[✗] Transfer failed!" echo "" echo "Manual transfer method:" - echo " scp -P 2222 mobileactivationd root@127.0.0.1:/usr/libexec/mobileactivationd" + echo " scp -O -P 2222 mobileactivationd root@127.0.0.1:/usr/libexec/mobileactivationd" echo " Password: alpine" echo "" exit 1