Comment compiler libSandy

libSandy est une bibliothèque de développement conçue pour améliorer de manière sécurisée les capacités de sandboxing des applications, des processus système et des modifications personnalisées sur les appareils iOS jailbreakés. Grâce à l'utilisation d'API sandbox (voir sandbox.h), tout processus peut générer des jetons d'extension, chacun identifiant de manière unique les privilèges spécifiques qu'il accorde. Ces jetons, représentés sous forme de chaînes, peuvent ensuite être utilisés de manière transparente par d'autres processus pour appliquer les extensions correspondantes à leurs propres opérations.
Cette bibliothèque sert de base à plusieurs améliorations open source remarquables de theos, telles que Flora , SafariPlus, Shadow, Kayoko , LetMeBlock et AlbumManager. Ces améliorations de jailbreak nécessitent l'inclusion de libSandy lors de la compilation, certains fichiers devant être déplacés vers le dossier theos pour ceux qui souhaitent les compiler à partir des sources.
Bien que la compilation de libSandy soit relativement simple, les novices en compilation de tweaks iOS peuvent rencontrer des erreurs lors de l'exécution de la commande « make ». La simple recherche de solutions en ligne peut ne pas donner les résultats escomptés. Cependant, cet article est conçu pour vous guider pas à pas, en proposant un tutoriel complet sur la compilation de libSandy, spécialement conçu pour les jailbreaks rootless modernes, comme Dopamine et Palera1n.

Comment construire libSandy pour theos
Pour compiler correctement libSandy, vous devez utiliser le SDK iOS 16.2 fourni par Xcode 14.2. Toute tentative de compilation de libSandy avec une version ultérieure de Xcode échouera.
Pour compiler une libSandy pour theos, suivez les étapes :
Étape 1. Installez theos sur votre PC, Mac ou appareil iOS en suivant notre guide.
Étape 2. Installez iPhoneOS16.2.sdk en téléchargeant Xcode 14.2 directement depuis les serveurs Apple. Vous devrez vous authentifier avec votre identifiant Apple pour télécharger.
Étape 3. Ouvrez l'application Terminal et extrayez Xcode_14.2.xip avec la commande suivante. Après l'extraction, renommez l'application pour qu'elle n'entre pas en conflit avec votre installation principale de Xcode.
xip -x Xcode_14.2.xip
Étape 4. Déplacez Xcode_14.2.app vers le dossier Applications.
Étape 5. Modifiez la version des outils de ligne de commande Xcode sélectionnés. La commande suivante modifiera temporairement la version des outils de ligne de commande pour cette session de terminal uniquement.
export DEVELOPER_DIR=/Applications/Xcode_14.2.app/Contents/Developer
ou permanent
sudo xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer
Si vous devez utiliser la dernière chaîne d'outils Xcode à partir de la ligne de commande, utilisez --reset :
sudo xcode-select --reset
Étape 6. Téléchargez mac-headers et copiez le dossier xpc dans theos/include.
git clone https://github.com/realthunder/mac-headers/ cd mac-headers cp -r "/usr/include/xpc" "$THEOS/include"
Étape 7. Clonez le référentiel libSandy depuis GitHub sur votre ordinateur.
git clone https://github.com/opa334/libSandy
Étape 8. Ouvrez le dossier libSandy.
cd libSandy
Étape 9. Compilez libSandy en suivant la commande « make » et installez-le sur theos.
chmod +x ./install_to_theos.sh && chmod +x ./install_to_theos.sh
ou manuellement...
make clean make FINALPACKAGE=1
Étape 10. Copiez le fichier libsandy.dylib généré dans le dossier libos.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib"
Étape 11. Compilez la bibliothèque libSandy pour les ajustements sans racine.
make clean make FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=rootless
Étape 12. Copiez le fichier libsandy.dylib sans racine généré dans le dossier theos.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib/iphone/rootless"
Étape 13. Copiez libSandy.h dans le dossier include situé dans le dossier theos.
cp -v "./libSandy.h" "$THEOS/include"
Erreurs courantes de compilation de libSandy
L'un des principaux obstacles rencontrés lors de la compilation de libSandy pour theos provient de l'utilisation d'une version incompatible de Xcode. Par exemple, Xcode 15 inclut généralement la dernière version du SDK iOS pour iPhone, comme iPhoneOS17.2.sdk. Cependant, libSandy nécessite une compilation avec iPhoneOS16.2.sdk. Si la mauvaise version du SDK iOS est utilisée, des erreurs peuvent survenir.

- libSandy.m:3:9 : erreur fatale : fichier « xpc/xpc.h » introuvable.
- /libSandy/.theos/obj/armv7/libSandy.m.50b5a432.o] Erreur 1.
- Construction pour iOS 8.0, mais la chaîne d'outils actuelle ne peut pas produire de binaires arm64e pour iOS antérieur à 14.0.
- Erreur : le SDK que vous avez choisi, « iPhoneOS16.2.sdk », ne semble pas exister.