

Apple hat einige neue Sicherheitsmechanismen eingeführt, die wir ermöglichen müssen, um Crescendo zum Laufen zu bringen.
Stellen Sie sicher, dass Sie die App in Ihren /Anwendungsdirektor verschoben haben oder die Systemerweiterung nicht lädt.
Für den ersten Lauf werden Sie aufgefordert, die Systemerweiterung zu genehmigen, nachdem Sie auf die Schaltfläche "Start" geklickt haben.
Hinweis: Ich habe festgestellt, dass es ein Problem gibt, bei dem Systemeinstellungen keine Schaltfläche zulassen. Ich gehe davon aus, dass dies ein internes Problem ist, das Apple zum Training muss. Wenn Sie zurück zu den Systemeinstellungen klicken und erneut vorwärts gehen, scheint das Problem zu beheben.


Sie müssen einen vollständigen Datenträgerzugriff für die Systemerweiterung aktivieren.

Crescendo ist nur mit> = 10.15.x und mindestens Xcode 10 kompatibel.
Dieses Projekt besteht aus drei Hauptkomponenten:
Es wird dringend empfohlen, diesen Code in einer virtuellen Maschine mit deaktiviertem SIP zu testen, da für dieses Projekt die Anspruchsberechtigung, TCC und die ordnungsgemäße Unterzeichnung des Endpunkts erforderlich sind, wenn SIP aktiviert ist.
csrutil disable
nvram boot-args="amfi_get_out_of_my_way=0x1"
OSSystemExtensionManager.shared.submitRequest nennen, neu laden systemextensionsctl developer on
Wenn Sie Ihre eigene Anwendung unterschreiben möchten, empfehlen Sie dringend, die Dokumentation von Apple zu Systemerweiterungsanforderungen und -gerichtungen zu lesen.
Unterzeichnung und Anspruch ist eine nicht triviale Übung.
Ich habe meine .xproj -Datei in diese Veröffentlichung aufgenommen, um die Leute zu starten. In Zukunft werde ich wahrscheinlich die neue XCConfig -Datei verwenden, da dies viel besser für einen Ansatz erscheint, anstatt XPROJ -Dateien einzubringen. Wenn Sie einfach die Beispiel -CLI -Anwendung erstellen möchten, können Sie dies mit Xcode tun.
Um diese Anwendung zu erstellen und auf einem Produktions-MACOS-System auszuführen, benötigen Sie die Anspruchsanrechnung des Endpunkts und ein Entwicklerzertifikat von Apple.
Das Crescendo -Framework kann problemlos mit einer schnellen Anwendung gebündelt werden. Ich kann in Zukunft nach Cocoapods ziehen, aber ich bin gerade mit ihnen nicht vertraut.
Bitte zögern Sie nicht, ein Problem zu lösen, wenn Sie eine hinzugefügte Funktion sehen oder auf ein Problem stoßen möchten. Wenn Sie eine Pull -Anfrage starten möchten, stellen Sie bitte sicher, dass Sie SwiftLint über Ihren Code ausführen, bevor Sie einen Beitrag leisten.
Ich werde die Veröffentlichungen für die kompilierte + signierte App abschneiden und sie nach Bedarf in die Registerkarte "Releases" aufnehmen.
Wenn Sie auf einem Produktions -Mac laufen, sollten Sie SIP oder AMFI weder deaktivieren. Diese Anweisungen sind für Entwickler, die Codeänderungen vornehmen möchten.
Haben Sie die Systemerweiterung aktiviert, indem Sie auf die Schaltfläche "Zulassen" in System Preferences -> Security & Privacy klicken? Wenn nicht, werden Sie keine Veranstaltungen sehen.
Haben Sie einen vollständigen Datenträgerzugriff in System Preferences -> Security & Privacy -> Privacy Tab ? Wenn nicht, werden Sie keine Veranstaltungen sehen.
Wenn Sie auf Probleme stoßen, öffnen Sie Console.app und suchen Sie nach crescendo oder <your_bundle_id> / com.suprhackersteve als Filter, die Sie bei der Fehlerbehebung bei potenziellen Problemen unterstützen sollten. Es ist auch eine gute Idee, den CrashReporter einzuchecken und festzustellen, ob die Erweiterung mit fatalError abgestürzt ist.
Wenn Sie die Systemerweiterung gewaltsam entladen möchten, gibt es ein Menüelement mit dem Namen "Entladen Systemerweiterung", das sie entlädt. Diese Aktion kann zu seltsamen Nebenwirkungen führen, nur wenn Sie wissen, was Sie tun.
Wenn Sie der Blacklist einen Prozess hinzugefügt haben und er weiterhin ausführen darf, denken Sie daran, den eigentlichen vollständigen Pfad zu überprüfen. Einfach mit /Applications/foo.app reichen, reicht nicht aus, um die Ausführung zu verhindern. Außerdem werden viele MacOS -Anwendungen über XPCProxy gestartet.