Kompilera futurerestore dev eller main branch på macOS

FutureRestore är en hackad version av idevicerestore som erbjuder möjligheten att manuellt tilldela SEP och basband för återställningsprocessen. Denna funktion möjliggör återställning av osignerad firmware på enheter, beroende på tillgängligheten av en säkerhetskopia av APTicket (SHSH Blobs). Dessutom kan den replikera alla unika villkor för APTicket, såsom ECID, APNonce och Board ID.
Den senaste versionen av futurerestore v194 släpptes 2021. Trots detta är programvaran fortfarande under aktiv utveckling, med flera grenar i det officiella GitHub Repository. De senaste versionerna är FutureRestore Dev och FutureRestore main. Det är dock värt att notera att inga kompilerade versioner finns tillgängliga på releasesidan. Därför är det lämpligt att lära sig hur man kompilerar FutureRestore från dess källkod.
FutureRestore är fortfarande ett gångbart alternativ för nedgradering, vilket gör det möjligt för användare att återgå till exempel från iOS 16.7.x till iOS 16.6.1 på checkm8 -kompatibla enheter, förutsatt att SHSH-blobbar har sparats. För att utföra denna process är det nödvändigt att kompilera 'dev'-grenen av FutureRestore, kompilera 'gaster', utnyttja checkm8 och ställa in nonce därefter.

När du överväger att nedgradera iOS med FutureRestore räcker det inte att enbart förlita sig på SHSH2-blobbar för din iPhone. Lika viktigt är SEP- och basebandskompatibiliteten, eftersom den avgör hur framgångsrik iOS-nedgraderingsprocessen blir. Det är viktigt att notera att inte alla iOS-versioner överensstämmer med den firmware som för närvarande körs. Att konsultera SEP- och basebandskompatibilitetslistan för FutureRestore- nedgraderingar kan avsevärt öka dina chanser att lyckas. Var medveten om att nedgraderingar från iOS 17 inte är möjliga.
Hur man kompilerar futurerestore dev på macOS
För att kompilera futurerestore dev eller main branch på macOS krävs det att man installerar cmake och några andra komponenter för att det ska fungera. Det enklaste sättet att göra det är att använda Homebrew Package Manager för macOS. Om du inte redan har gjort det, använd det här kommandot för att installera Homebrew.
Steg 1. Öppna terminalappen och kör följande kommando.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Steg 2. Installera de nödvändiga komponenterna via brew-kommandot.
brew install "openssl" "libpng" "libzip" "libimobiledevice" "autoconf" "automake" "autogen" "libtool" "cmake" "coreutils"
Steg 3. Skapa en mapp och öppna den i terminalappen.
mkdir ios-downgrade && cd ios-downgrade
Steg 4. Klona futurerestore dev eller main branch till den nya mappen.
git clone https://github.com/futurerestore/futurerestore.git --branch dev --recursive
Steg 5. Öppna futurerestore-mappen i terminalappen.
cd futurerestore
Steg 6. Kontrollera din systemarkitektur när du kör uname-kommandot.
uname -m
Steg 7. Från Cryptics CDN , klicka på antingen x86_64 eller arm64, baserat på din arkitektur, och ladda ner filen macOS_arm64_Release_Latest.tar.zst.
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"
Steg 8. Extrahera filen macOS_arm64_Release_Latest.tar.zst.
zstd -d macOS_arm64_Release_Latest.tar.zst
Steg 9. Öppna mappen dep_root med kommandot cd.
cd dep_root
Steg 10. Extrahera macOS_arm64_Release_Latest.tar-arkivet till den faktiska mappen.
tar -xvf ../macOS_arm64_Release_Latest.tar
Steg 11. Navigera uppåt i mapphierarkin till futurerestore.
cd ..
Steg 12. Kompilera futurerestore dev eller main branch. Ändra -DARCH= vid behov.
./build.sh -DARCH=x86_64 -DNO_PKGCFG=1
Steg 13. Kontrollera att du har en futurerestore-binärfil på cmake-build-release/src.
Tillgängliga kommandon
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)