diff --git a/README.md b/README.md index ec4b437..105125f 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,7 @@ - [ipwndfu](https://github.com/LukeZGD/ipwndfu) - Linus Henze, synackuk; LukeZGD fork - [ipwnder_lite](https://github.com/dora2-iOS/ipwnder_lite/tree/7265a06d184e433989db640d5e83ea58d5862609) - dora2ios (used on macOS) - [iPwnder32](https://github.com/dora2-iOS/iPwnder32/tree/243ea5c6d1bd15f8bdd0b3a1ff4a7729bc14bac4) - dora2ios (old version with libusb, used on Linux) +- [gaster](https://github.com/0x7ff/gaster/) - 0x7ff - [daibutsuCFW](https://github.com/dora2-iOS/daibutsuCFW) - dora2ios; [LukeZGD fork](https://github.com/LukeZGD/daibutsuCFW) - [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice), [libirecovery](https://github.com/libimobiledevice/libirecovery) - libimobiledevice - [tsschecker](https://github.com/tihmstar/tsschecker) - tihmstar; [1Conan fork](https://github.com/1Conan/tsschecker) diff --git a/bin/linux/arm64/gaster b/bin/linux/arm64/gaster new file mode 100755 index 0000000..c644cc9 Binary files /dev/null and b/bin/linux/arm64/gaster differ diff --git a/bin/linux/x86_64/gaster b/bin/linux/x86_64/gaster new file mode 100755 index 0000000..e52aba3 Binary files /dev/null and b/bin/linux/x86_64/gaster differ diff --git a/bin/macos/gaster b/bin/macos/gaster new file mode 100755 index 0000000..e38a05c Binary files /dev/null and b/bin/macos/gaster differ diff --git a/restore.sh b/restore.sh index 43a9277..2a409cb 100755 --- a/restore.sh +++ b/restore.sh @@ -103,7 +103,7 @@ set_tool_paths() { bspatch, ch3rry, jq, ping, scp, ssh, sha1sum (for macos: shasum -a 1), sha256sum (for macos: shasum -a 256), xmlstarlet, zenity these ones "need" sudo for linux arm, not for others: - futurerestore, idevicerestore, idevicererestore, ipwnder, irecovery + futurerestore, gaster, idevicerestore, idevicererestore, ipwnder, irecovery tools set here will be executed using: $name_of_tool @@ -184,6 +184,7 @@ set_tool_paths() { (while true; do sudo -v; sleep 60; done) & sudoloop_pid=$! futurerestore="sudo " + gaster="sudo " idevicerestore="sudo " idevicererestore="sudo " ipwnder="sudo " @@ -261,6 +262,7 @@ set_tool_paths() { iproxy="$dir/iproxy" irecovery+="$dir/irecovery" fi + gaster+="$dir/gaster" idevicerestore+="$dir/idevicerestore" idevicererestore+="$dir/idevicererestore" ipwnder+="$dir/ipwnder" @@ -808,9 +810,33 @@ device_enter_mode() { device_enter_mode DFU if [[ $device_proc == 6 && $platform != "macos" ]]; then + # A6 linux uses ipwndfu device_ipwndfu pwn + elif [[ $device_proc == 7 ]]; then + # A7 uses gaster or ipwnder + opt="$gaster pwn" + input "PwnDFU Tool Option" + print "* Select tool to be used for entering pwned DFU mode." + print "* This option is set to ipwnder by default (1)." + input "Select your option:" + select opt2 in "ipwnder" "gaster"; do + case $opt2 in + "gaster" ) :; break;; + * ) + opt="$ipwnder" + if [[ $platform != "macos" ]]; then + opt+=" -p" + fi + break + ;; + esac + done + log "Placing device to pwnDFU mode using: $opt" + $opt + tool_pwned=$? else - opt=-p + # A4/A6 uses ipwnder + opt="-p" if [[ $platform == "macos" ]]; then opt= fi @@ -826,7 +852,7 @@ device_enter_mode() { "* Exit DFU mode first by holding the TOP and HOME buttons for about 15 seconds." fi - if [[ $platform == "macos" ]]; then + if [[ $platform == "macos" && $opt != "$gaster pwn" ]]; then return fi