黑苹果必备驱动:VirtualSMC 系统管理控制器内核仿冒驱动 1.2.9

概述

VirtualSMC.kext 是一款用于 macOS 系统的系统管理控制器(System Management Control,SMC)内核仿冒驱动,用以仿冒真 Mac 系统布局,让 macOS 以为自己运行在真正的 Mac 上,从而达到驱动黑苹果系统的目的,该驱动需要配合 Lilu.kext 才能正常工作。

  • 版本:1.2.9
  • 发布日期:2022年3月8日
  • VirtualSMCFakeSMC 必须二选一,前者是 Lilu 团队开发的,但传感器少一些;后者传感器更多,但很久未更新;
  • 安装 macOS 时应使用 Debug 版本以获取更多错误信息,稳定使用请使用 Release 版本。

 

驱动特点

  • 支持macOS 10.8和更高版本(建议10.9和更高版本)
  • 实现MMIO协议和基于中断的响应,以与现代OS兼容
  • 正确报告密钥的属性和密钥保护
  • 允许基于模型进行调整,并允许使用不同的SMC代
  • 可通过插件扩展以提供传感器和按键添加支持
  • 在10.9上启用smcdebug = XX引导参数支持
  • 替换找到的硬件SMC(要完全禁用SMC,您需要刷新专用固件)

 

启动参数

  • 添加 -vsmcdbg 以启用调试打印(在DEBUG二进制文件中可用)。
  • 添加 -vsmcoff 以关闭所有Lilu增强功能。
  • 添加 -vsmcbeta 以在不受支持的操作系统上启用Lilu增强功能(默认情况下启用10.13及以下版本)。
  • 添加 -vsmcrpt 以将有关缺少SMC密钥的报告报告到系统日志中。
  • 添加 -vsmccomp以首选现有的硬件SMC实现(如果找到)。
  • 添加 vsmcgen = X 强制暴露 X-gen SMC设备(支持1和2)。
  • 添加 vsmchbkp = X 来设置HBKP转储模式(0-关闭,1-正常,2-不加密)。
  • 添加 vsmcslvl = X 来设置值序列化级别(0-关闭,1-正常,2-带有敏感数据(默认))。
  • 添加 smcdebug = 0xff 以启用AppleSMC调试信息打印。
  • 添加 watchdog = 0 以禁用WatchDog计时器(如果意外重启)。

 

常见问题

  • VirtualSMC 有对我有什么帮助?
    • 在不同情况下,VirtualSMC 能改善现有跟未来版本的 macOS 的兼容性,带来更多 SMC 支持, SMC 键值模拟例如 MMIO ,事件 (SMCLightSensor),权限支持等功能。在旧款的 Mac 型号上,可以用它来升级 SMC 世代以获得更多功能。
  • VirtualSMC 有什么配置需求?
    • macOS 10.8.5 或以上. 确保使用正确的 Lilu 版本以获得完整功能, 在测试版的 macOS 下,使用 -liluoff 以启用基本支持。如果有用文件保险箱 (FileVault) 建议使用 VirutalSMC 以获得完整的 boot.efi 支持。 VirtualSMC 不兼容 SMCHelper-64.efi,请避免一起使用。
  • 如何进行错误排查?
    • 使用 DEBUG 版 Kext(也包括 Lilu), 和相关的 Kext 的排错启动参数。 除了添加 -vsmcdbg keepsyms=1, -v, debug=0x100, io=0xff 这些常见的排错参数外,还有 AppleSMC 排错参数 (smc=0xff), AppleSmartBatteryManager 排错参数 (batman=0xff)。 10.13 或以上可使用 内核补丁 来获得内核崩溃追踪以避免使用后续 kext。
  • 为什么内核崩溃报告会提到 VirtualSMC.kext?
    • 大多数情况下 VirtualSMC 跟内核崩溃无关。 VirtualSMC 出现在堆栈跟踪是因为 VirtualSMC 把 kernel_trap 包装在模拟的 SMC 设备里。
  • SMC 传感器有什么用?
    • 传感器 Kext 提供额外的信息例如温度, 电压, 还可通过特有 SMC 键值提供一些额外的功能。 已知的传感器列表可在 Docs 目录下查阅。 你可以使用特有 API 来开发传感器 Kext, 但请事先阅读一些基本文档。
    • 为什么用了监控器 Kext, 资源监控软件依然看不见相关信息?
    • 检查传感器 Kext 是否有提供你想要查看的传感器信息, 可以通过查看 SMC 键值来确认 (运行 smcread -s). 如没有, 检测此信息是否在原生苹果产品使用上并考虑创建一个 Pull request。 如没有, 检查你所用的资源管理器软件确实有尝试读取相关键值。 请注意, 某些资源监控软件例如 iStat Menus 会根据不同的 Mac 平台使用其特有描述文件, 故某些你所使用的硬件也许会被忽略。
  • 是否支持 authenticated restart( FileVault 免密码重启)?
    • Authenticated restart, 一般情况下由 sudo fdesetup authrestart 触发,如有用 VirtualSMC.efi 即可支持。 可是, 正如任何软件功能整合一样,它并不是很安全。 如果你很在意安全与隐私, 你应该加上 vsmchbkp=0 启动参数禁止此功能。
    • 此功能的整合由 VirtualSMC 把加密密钥储存在 NVRAM, 如有更高的 RTC 记忆库可用,还会由临时密钥进行再次加密。 除此之外, 如果 AptioMemoryFix 存在的话,在 EXIT_BOOT_SERVICES 后 AptioMemoryFix 会禁止此密钥被再读取。
  • 这些命令行工具都有什么作用?
    • rtcread 可访问 RTC/CMOS 内存并包含相关 AppleRTC 信息
    • smcread 可访问 SMC 键值, 导出 SMC 固件所包含的键值和 libSMC.dylib
    • smc-fuzzer 一个原 smc fork,部分缺失的功能已由 smcread 补充
    • libaistat 当 iStat Menus 跟 DYLD_INSERT_LIBRARIES 一起使用时,可导出 SMC 键值描述文件
  • 这些传感器 Kext 有什么作用?
    • SMCLightSensor 通过新的 SMC 事件 API,是一个光线传感器的例子 (需要 ACPI0008_ALI)
    • SMCBatteryManager 添加 SMC 跟 SMBus 协议完整的 AppleSmartBattery 模拟层,电池相关的传感器
    • SMCProcessor 给 Penryn CPU 或以上提供温度传感器支持
    • SMCSuperIO 风扇信息读取

 

更新日志 & 历史版本

 

 

下载地址

  • 版本1.2.9
0. 本站所有资源解压密码均为 heipg.cn
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!

黑苹果星球 » 黑苹果必备驱动:VirtualSMC 系统管理控制器内核仿冒驱动 1.2.9

发表回复