

Apple은 Crescendo를 실행할 수 있도록 필요한 새로운 보안 메커니즘을 도입했습니다.
앱을 /애플리케이션 디렉터로 앱을 이동했는지 확인하십시오. 그렇지 않으면 시스템 확장이로드되지 않습니다.
첫 번째 실행의 경우 "시작"버튼을 클릭 한 후 시스템 확장을 승인하라는 메시지가 표시됩니다.
참고 : 시스템 환경 설정에 허용 버튼이 표시되지 않는 문제가 있음을 알았습니다. 나는 이것이 Apple이 운동에 필요한 내부 문제라고 생각합니다. 시스템 환경 설정으로 다시 클릭하고 앞으로 다시 탐색하는 것은 문제를 해결하는 것 같습니다.


시스템 확장에 대한 전체 디스크 액세스를 활성화해야합니다.

Crescendo는> = 10.15.x 및 최소 Xcode 10과 호환됩니다.
이 프로젝트는 세 가지 주요 구성 요소로 구성됩니다.
이 프로젝트에는 SIP가 활성화 될 때 Endpoint-Security Entitlement, TCC 및 올바른 서명이 필요하기 때문에 SIP 비활성화 된 가상 시스템 에서이 코드를 테스트하는 것이 좋습니다 .
csrutil disable
nvram boot-args="amfi_get_out_of_my_way=0x1"
OSSystemExtensionManager.shared.submitRequest 라고 부르는마다 확장자가 다시로드됩니다. systemextensionsctl developer on
자신의 애플리케이션에 서명하려면 시스템 확장 요구 사항 및 공명에 대한 Apple의 문서를 읽는 것이 좋습니다.
서명 및 자격은 사소한 운동입니다.
이 릴리스에 .xproj 파일을 포함시켜 사람들을 시작했습니다. 앞으로 나는 새로운 xcconfig 파일을 사용하는 것으로 XPROJ 파일을 촉구하는 대신 접근 방식이 훨씬 더 구속 된 것처럼 보일 것입니다. 예제 CLI 응용 프로그램을 간단히 작성하려면 Xcode를 사용하여 수행 할 수 있습니다.
이 애플리케이션을 구축하고 프로덕션 MACOS 시스템에서 실행하려면 Endpoint-Security 자격과 Apple의 개발자 인증서가 필요합니다.
Crescendo 프레임 워크는 신속한 응용 프로그램과 쉽게 번들로 번들 수 있습니다. 나는 앞으로 Cocoapods로 이사 할 수 있지만 지금 당장은 익숙하지 않습니다.
기능이 추가되거나 문제가 발생하면 문제를 제기하십시오. 풀 요청에 기여하려면 기여하기 전에 코드를 통해 SwiftLint를 실행하는지 확인하십시오.
컴파일 된 + 서명 된 앱의 릴리스를 자르고 필요에 따라 릴리스 탭에 포함시킵니다.
생산 Mac에서 실행중인 경우 SIP 또는 AMFI를 비활성화해서는 안됩니다 . 이러한 지침은 코드를 변경하려는 개발자를위한 것입니다.
System Preferences -> Security & Privacy 에서 "허용"버튼을 클릭하여 시스템 확장을 활성화 했습니까? 그렇지 않다면, 당신은 어떤 사건도 볼 수 없습니다.
System Preferences -> Security & Privacy -> Privacy Tab 에서 전체 디스크 액세스를 활성화 했습니까? 그렇지 않다면, 당신은 어떤 사건도 볼 수 없습니다.
문제가 발생하면 Console.App을 열고 crescendo 또는 <your_bundle_id> / com.suprhackersteve 검색하여 잠재적 인 문제를 해결하는 데 도움이 될 것입니다. CrashReporter를 체크인하고 확장이 fatalError 와 함께 추락하거나 종료되었는지 확인하는 것이 좋습니다.
시스템 확장을 강제로 언로드하려면 "언로드 시스템 확장"이라는 메뉴 항목이 있습니다. 이 조치는 이상한 부작용으로 이어질 수 있습니다. 당신이 무엇을하고 있는지 아는 경우에만 해당됩니다.
블랙리스트에 프로세스를 추가했지만 여전히 실행할 수있는 경우 실제 전체 경로를 확인하십시오. 단순히 /applications/foo.app을 사용하면 실행을 방지하기에 충분하지 않습니다. 또한 많은 MACOS 애플리케이션은 XPCPROXY를 통해 출시됩니다.