

Apple a introduit de nouveaux mécanismes de sécurité que nous devons permettre de faire fonctionner le crescendo.
Assurez-vous que vous avez déplacé l'application vers votre directeur des applications ou que l'extension système ne se chargera pas.
Pour la première exécution, vous serez invité à approuver l'extension du système, après avoir cliqué sur le bouton "Démarrer".
Remarque: J'ai remarqué qu'il y a un problème où les préférences du système n'afficheront pas un bouton d'autorisation. Je suppose que c'est un problème interne dont Apple a besoin pour s'entraîner. Cliquer à nouveau aux préférences du système et naviguer à nouveau semble résoudre le problème.


Vous devrez activer l'accès au disque complet pour l'extension du système.

Le crescendo n'est compatible qu'avec> = 10.15.x et au moins xcode 10.
Ce projet se compose de trois composantes principales:
Il est fortement recommandé de tester ce code dans une machine virtuelle avec SIP désactivée, car ce projet nécessite le droit de fin de sécurité, le TCC et la signature appropriée lorsque SIP est activé.
csrutil disable
nvram boot-args="amfi_get_out_of_my_way=0x1"
OSSystemExtensionManager.shared.submitRequest systemextensionsctl developer on
Si vous souhaitez signer votre propre application, il est fortement recommandé de lire la documentation d'Apple sur les exigences de l'extension du système et la notorisation.
La signature et le droit sont un exercice non trivial.
J'ai inclus mon fichier .xproj dans cette version pour démarrer les gens. À l'avenir, je passerai probablement à l'utilisation du nouveau fichier xcConfig car cela semble beaucoup plus sain d'une approche au lieu de commander des fichiers xproj. Si vous souhaitez simplement créer l'exemple d'application CLI, vous pouvez le faire avec Xcode.
Afin de créer cette application et de l'exécuter sur un système MacOS de production, vous aurez besoin du droit de fin de la sécurité et d'un certificat de développeur d'Apple.
Le cadre de crescendo peut facilement être regroupé avec n'importe quelle application rapide. Je peux déménager à Cocoapods à l'avenir, mais je ne les connais pas actuellement.
N'hésitez pas à soulever un problème si vous souhaitez voir une fonctionnalité ajoutée ou rencontrer un problème. Si vous souhaitez contribuer une demande de traction, assurez-vous simplement d'exécuter Swiftlint sur votre code avant de contribuer.
Je vais couper les versions de l'application Signed compilée + et les inclure dans l'onglet des versions selon les besoins.
Si vous utilisez un Mac de production, vous ne devez pas désactiver SIP ou AMFI. Ces instructions sont destinées aux développeurs souhaitant apporter des modifications au code.
Avez-vous activé l'extension système en cliquant sur le bouton "Autoriser" dans System Preferences -> Security & Privacy ? Sinon, vous ne verrez aucun événement.
Avez-vous activé l'accès complet au disque dans System Preferences -> Security & Privacy -> Privacy Tab ? Sinon, vous ne verrez aucun événement.
Si vous rencontrez des problèmes, ouvrez Console.app et recherchez crescendo ou <your_bundle_id> / com.suprhackersteve en tant que filtre, cela devrait vous aider à résoudre les problèmes potentiels. C'est également une bonne idée de vérifier CrashReporter et de voir si l'extension s'est écrasée ou est sortie avec fatalError .
Si vous souhaitez décharger avec force l'extension système, il existe un élément de menu nommé "Extension du système de déchargement" qui le déchargera. Cette action peut conduire à des effets secondaires étranges, ne le faites que si vous savez ce que vous faites.
Si vous avez ajouté un processus à la liste noire et qu'il est toujours autorisé à exécuter, n'oubliez pas de vérifier le vrai chemin complet . Utiliser simplement /applications/foo.app, ne sera pas suffisant pour empêcher l'exécution. De plus, de nombreuses applications macOS sont lancées via XPCProxy.