本文由 简悦 SimpRead转码, 原文地址 www.naut.ca
首先,请扪心自问,您是否愿意撤销由......,历经十年艰辛创建的安全保护措施?
2020 年 11 月 13 日 - macos software diy
首先,请扪心自问,你愿意取消苹果公司十年来煞费苦心创建的安全保护措施,保护你的 Mac 免受恶意软件、间谍软件和勒索软件的侵害吗?如果这些所谓的保护措施妨碍了 Mac 的正常和快速使用呢?请看展品: [a, b, c, d, e, f]
是 "是 "吗?任何时候,速度和方便都比安全重要! 让我们勇敢地前进😃!下面列出的步骤将简要说明我们禁用的每项保护,以及在终端中使用的必要命令。
分步指南
步骤 1:禁用 GateKeeper。 这是 macOS 中处理代码签名验证的部分。macOS 10.15 对这部分的要求更加严格,要求苹果对 每个应用程序 都竖起大拇指。
# For macOS 10.15.6 and below, use sudo spctl --master-disable
sudo spctl --global-disable
第二步:禁用库验证 这项保护措施会检查应用程序的库是否由 Apple 或创建者签名。直到最近,macOS 应用程序还可以从称为 代码库 的外来源自由加载代码。在 macOS 10.15 中,除非应用程序明确允许,否则就不再允许加载非原始打包的库。
sudo defaults write /Library/Preferences/com.apple.security.libraryvalidation.plist DisableLibraryValidation -bool true
步骤 3:禁用系统完整性保护。 要禁用 SIP,必须进入恢复模式(重启时按住 Command+R) 。SIP 可防止恶意软件和超级用户修改 macOS 的系统文件、核心应用程序和内核。为此,它只允许经 Apple 签名的应用程序和扩展来修改系统。
# From the Recovery Mode menubar: Utilities --> Terminal
csrutil disable
第 4 步:禁用 Apple Mobile File Integrity。 AMFI 是 macOS 内核模块,用于执行第 1 步中的代码签名验证和第 2 步中的库验证。不过,即使禁用了上述服务,AMFI 仍会检查运行的每个应用程序的签名,当非苹果应用程序触及系统的额外敏感区域时,会导致应用程序崩溃。
# While still in Recovery Mode
nvram boot-args="amfi_get_out_of_my_way=1"
# Additional parameter below fixes Electron app crashes
nvram boot-args="ipc_control_port_options=0 amfi_get_out_of_my_way=1"
第 5 步:重启并享受自由 无需解释。
注意事项:
- 如果启用 GateKeeper 而禁用 AMFI,某些应用程序在打开时会挂起。
- 如果禁用 AMFI,则不会显示允许应用程序访问摄像头、麦克风和辅助功能等的提示。在 此处 找到的 "tccplus "实用程序可以缓解这一问题(软件仓库中有一个图形用户界面脚本)。
进一步阅读:
- syspolicyd internals
- Catalina 如何处理应用程序的首次运行
- 应用程序首次运行时会出什么问题?
- AMFI:在 Mac 上检查文件完整性
- 代码签名--Hashed Out,RSA 会议
- 滥用 MacOS 权限执行代码
- 禁用 YaraScanService
增补:
不幸的是,我的文章登上 Hacker News 头版后被一些用户标记!我猜他们只是不欣赏我的幽默?不过,您可以查看被删除前的 讨论。
2023 年 2 月更新
要修复禁用 AMFI 后崩溃的 Electron 应用程序,请使用额外的 nvram 启动参数:amfi_get_out_of_my_way=1。