Sådan kompilerer du libSandy

libSandy er et udviklerbibliotek designet til at forbedre sandbox-funktionerne i apps, systemprocesser og brugerdefinerede ændringer på jailbroken iOS-enheder på en sikker måde. Ved at bruge sandbox API'er (se sandbox.h) får enhver proces mulighed for at generere udvidelsestokens, der hver især unikt identificerer de specifikke rettigheder, den giver. Disse tokens, repræsenteret som strenge, kan derefter problemfrit bruges af andre processer til at anvende de tilsvarende udvidelser på deres egne operationer.
Dette bibliotek fungerer som en hjørnesten for adskillige fremragende open source theos-justeringer, såsom Flora , SafariPlus, Shadow, Kayoko , LetMeBlock og AlbumManager. Disse jailbreak-justeringer nødvendiggør inkludering af libSandy under kompilering, hvor visse filer skal flyttes til theos-mappen for dem, der er interesserede i at bygge dem fra kildekoden.
Selvom kompilering af libSandy er en relativt ligetil proces, kan nybegyndere inden for iOS theos tweak-kompilering støde på fejl, når de udfører kommandoen 'make'. Blot at søge efter løsninger online giver muligvis ikke de ønskede resultater. Denne artikel er dog designet til at guide dig gennem hvert trin og giver en omfattende vejledning i kompilering af libSandy, der er specifikt skræddersyet til moderne rootless jailbreaks, herunder Dopamine og Palera1n.

Sådan bygger du libSandy til theos
For at kompilere libSandy skal du bruge iOS 16.2 SDK'et, der leveres af Xcode 14.2. Forsøg på at kompilere libSandy med en nyere version af Xcode vil resultere i en fejl.
For at kompilere en libSandy til theos, følg disse trin:
Trin 1. Installer theos på din pc, Mac eller iOS-enhed ved at følge vores vejledning.
Trin 2. Installer iPhoneOS16.2.sdk ved at downloade Xcode 14.2 direkte fra Apples servere. Du skal godkende med dit Apple ID for at downloade.
Trin 3. Åbn terminalappen, og udpak Xcode_14.2.xip med følgende kommando. Efter udpakningen skal du omdøbe appen, så den ikke er i konflikt med din primære installation af Xcode.
xip -x Xcode_14.2.xip
Trin 4. Flyt Xcode_14.2.app til mappen Programmer.
Trin 5. Skift din valgte version af kommandolinjeværktøjerne i Xcode. Følgende kommando vil midlertidigt ændre din version af kommandolinjeværktøjerne for kun denne terminalsession.
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 har brug for at bruge den nyeste Xcode-værktøjskæde fra kommandolinjen, skal du bruge --reset:
sudo xcode-select --reset
Trin 6. Download 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"
Trin 7. Klon libSandy-arkivet fra GitHub til din computer.
git clone https://github.com/opa334/libSandy
Trin 8. Åbn libSandy-mappen.
cd libSandy
Trin 9. Kompilér libSandy ved at følge kommandoen 'make', og installer det i theos.
chmod +x ./install_to_theos.sh && chmod +x ./install_to_theos.sh
eller manuelt...
make clean make FINALPACKAGE=1
Trin 10. Kopier den genererede libsandy.dylib til theos lib-mappen.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib"
Trin 11. Kompilér libSandy til rootless tweaks.
make clean make FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=rootless
Trin 12. Kopier den genererede libsandy.dylib rootless til theos-mappen.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib/iphone/rootless"
Trin 13. Kopier libSandy.h til include-mappen, der findes i theos-mappen.
cp -v "./libSandy.h" "$THEOS/include"
Almindelige libSandy-kompileringsfejl
En af de største hindringer, man står over for, når man kompilerer libSandy til theos, er brugen af en inkompatibel version af Xcode. For eksempel inkluderer Xcode 15 typisk den seneste version af iPhone iOS SDK, som f.eks. iPhoneOS17.2.sdk. LibSandy kræver dog kompilering ved hjælp af iPhoneOS16.2.sdk. Hvis den forkerte iOS SDK-version bruges, kan der opstå fejl.

- libSandy.m:3:9: fatal fejl: filen 'xpc/xpc.h' blev ikke fundet.
- /libSandy/.theos/obj/armv7/libSandy.m.50b5a432.o] Fejl 1.
- Bygger til iOS 8.0, men den nuværende værktøjskæde kan ikke producere arm64e-binære filer til iOS tidligere end 14.0.
- Fejl: Dit valgte SDK, “iPhoneOS16.2.sdk”, ser ikke ud til at eksistere.