Slik kompilerer du libSandy

libSandy er et utviklerbibliotek som er utviklet for å forbedre sandkassefunksjonene til apper, systemprosesser og tilpassede modifikasjoner på jailbroken iOS-enheter på en sikker måte. Gjennom bruk av sandkasse-API-er (se sandbox.h) får enhver prosess muligheten til å generere utvidelsestokener, som hver unikt identifiserer de spesifikke rettighetene den gir. Disse tokenene, representert som strenger, kan deretter sømløst brukes av andre prosesser for å bruke de tilsvarende utvidelsene på sine egne operasjoner.
Dette biblioteket fungerer som en hjørnestein for flere fremragende theos-tweaks med åpen kildekode, som Flora , SafariPlus, Shadow, Kayoko , LetMeBlock og AlbumManager. Disse jailbreak-tweaksene krever inkludering av libSandy under kompilering, og visse filer må flyttes til theos-mappen for de som er interessert i å bygge dem fra kildekoden.
Selv om kompilering av libSandy er en relativt enkel prosess, kan nybegynnere i iOS theos tweak-kompilering støte på feil når de kjører «make»-kommandoen. Å bare søke etter løsninger på nettet gir kanskje ikke de ønskede resultatene. Denne artikkelen er imidlertid utformet for å veilede deg gjennom hvert trinn, og gir en omfattende veiledning om kompilering av libSandy spesielt skreddersydd for moderne rootless jailbreaks, inkludert Dopamine og Palera1n.

Hvordan bygge libSandy for theos
For å kompilere libSandy må du bruke iOS 16.2 SDK-en som følger med i Xcode 14.2. Forsøk på å kompilere libSandy med en senere versjon av Xcode vil føre til en feil.
For å kompilere en libSandy for theos, følg trinnene:
Trinn 1. Installer theos på PC-en, Mac-en eller iOS-enheten din ved å følge veiledningen vår.
Trinn 2. Installer iPhoneOS16.2.sdk ved å laste ned Xcode 14.2 direkte fra Apples servere. Du må autentisere med Apple-ID-en din for å laste ned.
Trinn 3. Åpne terminalappen og pakk ut Xcode_14.2.xip med følgende kommando. Etter utpakking, gi appen nytt navn slik at den ikke kommer i konflikt med din primære installasjon av Xcode.
xip -x Xcode_14.2.xip
Trinn 4. Flytt Xcode_14.2.app til Programmer-mappen.
Trinn 5. Endre den valgte versjonen av kommandolinjeverktøyene i Xcode. Følgende kommando vil midlertidig endre versjonen av kommandolinjeverktøyene dine for bare denne terminaløkten.
export DEVELOPER_DIR=/Applications/Xcode_14.2.app/Contents/Developer
eller permanent
sudo xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer
Hvis du trenger å bruke den nyeste Xcode-verktøykjeden fra kommandolinjen, bruk --reset:
sudo xcode-select --reset
Trinn 6. Last ned mac-headers og kopier xpc-mappen til theos/include.
git clone https://github.com/realthunder/mac-headers/ cd mac-headers cp -r "/usr/include/xpc" "$THEOS/include"
Trinn 7. Klon libSandy-repositoriet fra GitHub til datamaskinen din.
git clone https://github.com/opa334/libSandy
Trinn 8. Åpne libSandy-mappen.
cd libSandy
Trinn 9. Kompiler libSandy ved å følge kommandoen «make» og installer den i theos.
chmod +x ./install_to_theos.sh && chmod +x ./install_to_theos.sh
eller manuelt...
make clean make FINALPACKAGE=1
Trinn 10. Kopier den genererte libsandy.dylib til theos lib-mappen.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib"
Trinn 11. Kompiler libSandy for rotløse justeringer.
make clean make FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=rootless
Trinn 12. Kopier den genererte libsandy.dylib rootless-filen til theos-mappen.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib/iphone/rootless"
Trinn 13. Kopier libSandy.h til include-mappen som ligger i theos-mappen.
cp -v "./libSandy.h" "$THEOS/include"
Vanlige libSandy-kompileringsfeil
En av de største hindringene man møter når man kompilerer libSandy for theos, er bruk av en inkompatibel versjon av Xcode. For eksempel inkluderer Xcode 15 vanligvis den nyeste versjonen av iPhone iOS SDK, som iPhoneOS17.2.sdk. LibSandy krever imidlertid kompilering ved hjelp av iPhoneOS16.2.sdk. Hvis feil iOS SDK-versjon brukes, kan det oppstå feil.

- libSandy.m:3:9: fatal feil: filen 'xpc/xpc.h' ble ikke funnet.
- /libSandy/.theos/obj/armv7/libSandy.m.50b5a432.o] Feil 1.
- Bygger for iOS 8.0, men den nåværende verktøykjeden kan ikke produsere arm64e-binærfiler for iOS eldre enn 14.0.
- Feil: Det valgte SDK-et, «iPhoneOS16.2.sdk», ser ikke ut til å eksistere.