Kompiler futurerestore dev- eller hovedgrenen på macOS

FutureRestore er en hacket versjon av idevicerestore, som tilbyr muligheten til å manuelt tildele SEP og Baseband for gjenopprettingsprosessen. Denne funksjonaliteten muliggjør gjenoppretting av usignert firmware på enheter, avhengig av tilgjengeligheten av en sikkerhetskopi av APTicket (SHSH Blobs). I tillegg kan den gjenskape alle de unike betingelsene til APTicket, for eksempel ECID, APNonce og Board ID.
Den nyeste versjonen av futurerestore v194 ble utgitt i 2021. Til tross for dette er programvaren fortsatt under aktiv utvikling, med flere grener i det offisielle GitHub Repository. De nyeste versjonene er FutureRestore Dev og FutureRestore main. Det er imidlertid verdt å merke seg at ingen kompilerte versjoner er tilgjengelige på utgivelsessiden. Derfor anbefales det å lære hvordan man kompilerer FutureRestore fra kildekoden.
FutureRestore er fortsatt et mulig alternativ for nedgradering, slik at brukere kan gå tilbake, for eksempel, fra iOS 16.7.x til iOS 16.6.1 på checkm8 -kompatible enheter, forutsatt at SHSH-blobber er lagret. For å utføre denne prosessen er det nødvendig å kompilere «dev»-grenen til FutureRestore, kompilere «gaster», utnytte checkm8 og sette nonce deretter.

Når du vurderer å nedgradere iOS ved hjelp av FutureRestore, er det ikke tilstrekkelig å utelukkende stole på SHSH2-blobber for iPhone. Like viktig er SEP- og basebåndkompatibiliteten, da den avgjør om iOS-nedgraderingsprosessen lykkes. Det er viktig å merke seg at ikke alle iOS-utgivelser er i samsvar med den gjeldende firmwaren. Å konsultere SEP- og basebåndkompatibilitetslisten for FutureRestore -nedgraderinger kan øke sjansene dine for suksess betydelig. Vær oppmerksom på at nedgraderinger fra iOS 17 ikke er mulige.
Slik kompilerer du futurerestore dev på macOS
For å kompilere futurerestore dev eller main branch på macOS må du installere cmake og noen andre komponenter for at det skal fungere. Den enkleste måten å gjøre det på er å bruke Homebrew Package Manager for macOS. Hvis du ikke allerede har gjort det, kan du bruke denne kommandoen for å installere Homebrew.
Trinn 1. Åpne terminalappen og utfør følgende kommando.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Trinn 2. Installer de nødvendige komponentene via brew-kommandoen.
brew install "openssl" "libpng" "libzip" "libimobiledevice" "autoconf" "automake" "autogen" "libtool" "cmake" "coreutils"
Trinn 3. Opprett en mappe og åpne den i terminalappen.
mkdir ios-downgrade && cd ios-downgrade
Trinn 4. Klon futurerestore dev- eller hovedgrenen til den nye mappen.
git clone https://github.com/futurerestore/futurerestore.git --branch dev --recursive
Trinn 5. Åpne futurerestore-mappen i terminalappen.
cd futurerestore
Trinn 6. Sjekk systemarkitekturen din når du kjører uname-kommandoen.
uname -m
Trinn 7. Fra Cryptics CDN klikker du enten på x86_64 eller arm64, basert på arkitekturen din, og laster ned 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"
Trinn 8. Pakk ut macOS_arm64_Release_Latest.tar.zst-filen.
zstd -d macOS_arm64_Release_Latest.tar.zst
Trinn 9. Åpne dep_root-mappen med cd-kommandoen.
cd dep_root
Trinn 10. Pakk ut macOS_arm64_Release_Latest.tar-arkivet til den faktiske mappen.
tar -xvf ../macOS_arm64_Release_Latest.tar
Trinn 11. Naviger oppover i mappehierarkiet til futurerestore.
cd ..
Trinn 12. Kompiler futurerestore dev eller main branch. Endre -DARCH= når det er nødvendig.
./build.sh -DARCH=x86_64 -DNO_PKGCFG=1
Trinn 13. Sjekk at du har en futurerestore-binærfil på cmake-build-release/src.
Tilgjengelige 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)