Hoe libSandy te compileren

libSandy is een ontwikkelaarsbibliotheek die is ontworpen om de sandboxmogelijkheden van apps, systeemprocessen en aangepaste aanpassingen op gejailbreakte iOS-apparaten op een veilige manier te verbeteren. Door gebruik te maken van sandbox-API's (zie sandbox.h) krijgt elk proces de mogelijkheid om extensietokens te genereren, die elk een unieke identificatie vormen van de specifieke rechten die het verleent. Deze tokens, weergegeven als strings, kunnen vervolgens naadloos door andere processen worden gebruikt om de bijbehorende extensies toe te passen op hun eigen processen.
Deze bibliotheek vormt de hoeksteen voor diverse uitstekende open-source theos-tweaks, zoals Flora , SafariPlus, Shadow, Kayoko , LetMeBlock en AlbumManager. Deze jailbreak-tweaks vereisen de toevoeging van libSandy tijdens de compilatie, waarbij bepaalde bestanden naar de theos-map verplaatst moeten worden voor diegenen die ze vanuit de broncode willen bouwen.
Hoewel het compileren van libSandy een relatief eenvoudig proces is, kunnen nieuwkomers in de iOS Theos Tweak-compilatie fouten tegenkomen bij het uitvoeren van de 'make'-opdracht. Het online zoeken naar oplossingen levert mogelijk niet het gewenste resultaat op. Dit artikel is echter bedoeld om je door elke stap te begeleiden en biedt een uitgebreide tutorial over het compileren van libSandy, speciaal afgestemd op moderne rootless jailbreaks, waaronder Dopamine en Palera1n.

Hoe je libSandy voor theos bouwt
Om libSandy succesvol te compileren, moet je de iOS 16.2 SDK van Xcode 14.2 gebruiken. Pogingen om libSandy te compileren met een latere versie van Xcode zullen mislukken.
Om een libSandy voor theos te compileren, volgt u deze stappen:
Stap 1. Installeer theos op uw pc, Mac of iOS-apparaat volgens onze handleiding.
Stap 2. Installeer iPhoneOS16.2.sdk door Xcode 14.2 rechtstreeks van Apple-servers te downloaden. Je moet je aanmelden met je Apple ID om te kunnen downloaden.
Stap 3. Open de terminal-app en pak Xcode_14.2.xip uit met de volgende opdracht. Hernoem de app na het uitpakken zodat er geen conflict ontstaat met je primaire Xcode-installatie.
xip -x Xcode_14.2.xip
Stap 4. Verplaats Xcode_14.2.app naar de map Programma's.
Stap 5. Wijzig de versie van uw geselecteerde Xcode-opdrachtregelhulpprogramma's. De volgende opdracht wijzigt tijdelijk de versie van uw opdrachtregelhulpprogramma's, alleen voor deze terminalsessie.
export DEVELOPER_DIR=/Applications/Xcode_14.2.app/Contents/Developer
of permanent
sudo xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer
Als u de nieuwste Xcode-toolchain vanaf de opdrachtregel wilt gebruiken, gebruikt u --reset:
sudo xcode-select --reset
Stap 6. Download mac-headers en kopieer de xpc-map naar theos/include.
git clone https://github.com/realthunder/mac-headers/ cd mac-headers cp -r "/usr/include/xpc" "$THEOS/include"
Stap 7. Kloon de libSandy-repository van GitHub naar uw computer.
git clone https://github.com/opa334/libSandy
Stap 8. Open de map libSandy.
cd libSandy
Stap 9. Compileer libSandy met de opdracht 'make' en installeer het in theos.
chmod +x ./install_to_theos.sh && chmod +x ./install_to_theos.sh
of handmatig...
make clean make FINALPACKAGE=1
Stap 10. Kopieer de gegenereerde libsandy.dylib naar de theos lib-map.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib"
Stap 11. Compileer de libSandy voor rootless tweaks.
make clean make FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=rootless
Stap 12. Kopieer de gegenereerde libsandy.dylib rootless naar de theos-map.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib/iphone/rootless"
Stap 13. Kopieer libSandy.h naar de include-map in de theos-map.
cp -v "./libSandy.h" "$THEOS/include"
Veelvoorkomende libSandy-compilatiefouten
Een van de grootste obstakels bij het compileren van libSandy voor Theos is het gebruik van een incompatibele versie van Xcode. Xcode 15 bevat bijvoorbeeld doorgaans de nieuwste versie van de iPhone iOS SDK, zoals iPhoneOS17.2.sdk. libSandy vereist echter compilatie met iPhoneOS16.2.sdk. Als de verkeerde versie van de iOS SDK wordt gebruikt, kunnen er fouten optreden.

- libSandy.m:3:9: fatale fout: bestand 'xpc/xpc.h' niet gevonden.
- /libSandy/.theos/obj/armv7/libSandy.m.50b5a432.o] Fout 1.
- Gebouwd voor iOS 8.0, maar de huidige toolchain kan geen arm64e-binaries produceren voor iOS ouder dan versie 14.0.
- Fout: De door u gekozen SDK, “iPhoneOS16.2.sdk”, lijkt niet te bestaan.