Kompilér futurerestore dev eller main branch på macOS

FutureRestore er en hacket version af idevicerestore, der tilbyder muligheden for manuelt at tildele SEP og Baseband til gendannelsesprocessen. Denne funktion muliggør gendannelse af usigneret firmware på enheder, afhængigt af tilgængeligheden af en sikkerhedskopi af APTicket (SHSH Blobs). Derudover kan den replikere alle de unikke betingelser for APTicket, såsom ECID, APNonce og Board ID.
Den seneste version af futurerestore v194 blev udgivet i 2021. På trods af dette er softwaren stadig under aktiv udvikling, med flere grene til stede i det officielle GitHub Repository. De seneste versioner er FutureRestore Dev og FutureRestore main. Det er dog værd at bemærke, at der ikke er nogen kompilerede versioner tilgængelige på udgivelsessiden. Derfor er det tilrådeligt at lære, hvordan man kompilerer FutureRestore fra kildekoden.
FutureRestore er fortsat en mulig nedgraderingsmulighed, der giver brugerne mulighed for at vende tilbage fra f.eks. iOS 16.7.x til iOS 16.6.1 på checkm8 -kompatible enheder, forudsat at SHSH-blobs er blevet gemt. For at udføre denne proces er det nødvendigt at kompilere 'dev'-grenen af FutureRestore, kompilere 'gaster', udnytte checkm8 og indstille nonce i overensstemmelse hermed.

Når du overvejer at nedgradere iOS ved hjælp af FutureRestore, er det ikke tilstrækkeligt udelukkende at stole på SHSH2-blobs til din iPhone. Lige så afgørende er SEP- og Baseband-kompatibiliteten, da den afgør, om iOS-nedgraderingsprocessen lykkes. Det er vigtigt at bemærke, at ikke alle iOS-udgivelser stemmer overens med den aktuelt kørende firmware. At konsultere SEP- og Baseband-kompatibilitetslisten for FutureRestore- nedgraderinger kan øge dine chancer for succes betydeligt. Vær opmærksom på, at nedgraderinger fra iOS 17 ikke er mulige.
Sådan kompilerer du futurerestore dev på macOS
For at kompilere futurerestore dev eller main branch på macOS skal du installere cmake og nogle andre komponenter for at få det til at virke. Den nemmeste måde at gøre det på er ved at bruge Homebrew Package Manager til macOS. Hvis du ikke allerede har gjort det, kan du bruge denne kommando til at installere Homebrew.
Trin 1. Åbn terminalappen og udfør følgende kommando.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Trin 2. Installer de nødvendige komponenter via brew-kommandoen.
brew install "openssl" "libpng" "libzip" "libimobiledevice" "autoconf" "automake" "autogen" "libtool" "cmake" "coreutils"
Trin 3. Opret en mappe, og åbn den i terminalappen.
mkdir ios-downgrade && cd ios-downgrade
Trin 4. Klon futurerestore dev- eller main-grenen til den nye mappe.
git clone https://github.com/futurerestore/futurerestore.git --branch dev --recursive
Trin 5. Åbn futurerestore-mappen i terminalappen.
cd futurerestore
Trin 6. Kontroller din systemarkitektur, når du udfører uname-kommandoen.
uname -m
Trin 7. Fra Cryptics CDN skal du klikke på enten x86_64 eller arm64, baseret på din arkitektur, og downloade macOS_arm64_Release_Latest.tar.zst-filen.
curl -C - -0 -o macOS_x86_64_Release_Latest.tar.zst "https://cdn.cryptiiiic.com/deps/static/macOS/x86_64/macOS_x86_64_Release_Latest.tar.zst"
Trin 8. Udpak filen macOS_arm64_Release_Latest.tar.zst.
zstd -d macOS_arm64_Release_Latest.tar.zst
Trin 9. Åbn dep_root-mappen med cd-kommandoen.
cd dep_root
Trin 10. Udpak macOS_arm64_Release_Latest.tar-arkivet til den faktiske mappe.
tar -xvf ../macOS_arm64_Release_Latest.tar
Trin 11. Naviger op i mappehierarkiet for at finde futurerestore.
cd ..
Trin 12. Kompilér futurerestore dev eller main branch. Rediger -DARCH= når det er nødvendigt.
./build.sh -DARCH=x86_64 -DNO_PKGCFG=1
Trin 13. Kontroller, at du har en futurerestore-binærfil på cmake-build-release/src.
Tilgængelige kommandoer
Usage: futurerestore [OPTIONS] iPSW
General options:
-h, --help Shows this usage message
-t, --apticket PATH Signing tickets used for restoring
-u, --update Update instead of erase install (requires appropriate APTicket)
DO NOT use this parameter, if you update from jailbroken firmware!
-w, --wait Keep rebooting until ApNonce matches APTicket (ApNonce collision, unreliable)
-d, --debug Show all code, use to save a log for debug testing
-e, --exit-recovery Exit recovery mode and quit
-z, --no-restore Do not restore and end right before NOR data is sent
-c, --custom-latest VERSION Specify custom latest version to use for SEP, Baseband and other FirmwareUpdater components
-g, --custom-latest-buildid BUILDID Specify custom latest buildid to use for SEP, Baseband and other FirmwareUpdater components
-i, --custom-latest-beta Get custom url from list of beta firmwares
-k, --custom-latest-ota Get custom url from list of ota firmwares
Options for downgrading with Odysseus:
-3, --use-pwndfu Restoring devices with Odysseus method. Device needs to be in pwned DFU mode already
-4, --no-ibss Restoring devices with Odysseus method. For checkm8/iPwnder32 specifically, bootrom needs to be patched already with unless iPwnder.
-5, --rdsk PATH Set custom restore ramdisk for entering restoremode(requires use-pwndfu)
-6, --rkrn PATH Set custom restore kernelcache for entering restoremode(requires use-pwndfu)
-7, --set-nonce Set custom nonce from your blob then exit recovery(requires use-pwndfu)
-7, --set-nonce=0xNONCE Set custom nonce then exit recovery(requires use-pwndfu)
-8, --serial Enable serial during boot(requires serial cable and use-pwndfu)
-9, --boot-args Set custom restore boot-args(PROCEED WITH CAUTION)(requires use-pwndfu)
-a, --no-cache Disable cached patched iBSS/iBEC(requires use-pwndfu)
-f, --skip-blob Skip SHSH blob validation(PROCEED WITH CAUTION)(requires use-pwndfu)
Options for SEP:
-0, --latest-sep Use latest signed SEP instead of manually specifying one
-j, --no-rsep Choose not to send Restore Mode SEP firmware command
Options for baseband:
-1, --latest-baseband Use latest signed baseband instead of manually specifying one
-2, --no-baseband Skip checks and don't flash baseband
Only use this for device without a baseband (eg. iPod touch or some Wi-Fi only iPads)