VirtualSMC内核驱动,替代Fakesmc,将更好的兼容未来macOS版本
本文最后更新于 266 天前,其中的信息可能已经有所发展或是发生改变。

有什么好处?

根据具体情况,VirtualSMC可以更好地兼容当前和未来的macOS版本,提供更广泛的SMC功能支持,并允许更灵活的SMC密钥仿真,如MMIO,事件(如SMCLightSensor),权限支持等。在较旧的Mac上,它可用于升级具有更多功能的SMC生成。

VirtualSMC内核驱动,替代Fakesmc,将更好的兼容未来macOS版本

有什么要求?

macOS 10.8.5或更新版本。完整功能需要兼容的Lilu,即使在beta macOS版本或-liluoffboot-arg 上也可以使用基本功能。启用FileVault 2时,建议将VirtualSMC.efi模块用于boot.efi兼容性。SMCHelper-64.efi与VirtualSMC.efi不兼容,必须删除。

我该如何调试问题?

使用DEBUG kexts和通常的boot-args在相关的kexts中启用调试信息。除了-vsmcdbg和通用启动参数一样keepsyms=1,-v,debug=0x100,io=0xff你可能有兴趣在AppleSMC调试支持(smc=0xff)或AppleSmartBatteryManager调试支持(batman=0xff)。在10.13或更高版本上,您可能必须修补内核才能在没有后续kext列表的情况下查看恐慌跟踪。祝你好运。

为什么VirtualSMC在每个页面显示故障内核恐慌?

在大多数情况下,VirtualSMC与您遇到的任何内核恐慌无关。它存在于堆栈跟踪中的原因是因为VirtualSMC包装kernel_trap来模拟SMC设备。

VirtualSMC内核驱动,替代Fakesmc,将更好的兼容未来macOS版本

传感器有什么特别之处?

传感器kexts在专用SMC密钥中提供额外的监控功能,如温度,电压或额外功能。可以在Docs目录中找到已知SMC密钥和传感器的列表。欢迎您使用专用API实现自己的传感器kexts,但请先查看基本手册。

为什么传感器X不显示Y中的信息?

通过检查SMC键值(运行smcread -s),确保您要查找的信息实际上在传感器X中实现。如果不是,请确保Apple硬件上存在此信息并考虑发出拉取请求。如果不是,请确保您检查信息的软件确实尝试读取相关密钥。请注意,某些软件(如iStat Menus)会基于Mac平台实施特殊的传感器配置文件,并且可能无法读取所有可用的传感器。

是否支持身份验证重启?

当存在VirtualSMC.efi时,支持通常由sudo fdesetup authrestart(参见)调用的经过身份验证的重新启动man fdesetup。但是,正如任何软件实现一样,它是不安全的。如果您关心隐私和安全性,则应通过传递vsmchbkp=0boot-arg 来禁用它。

VirtualSMC实现将加密密钥存储在nvram中,如果有更高的RTC内存库,则可以使用临时密钥对其进行加密。除此之外,AptioMemoryFix将尝试在EXIT_BOOT_SERVICES(如果已安装)之后阻止读取加密密钥。

VirtualSMC内核驱动,替代Fakesmc,将更好的兼容未来macOS版本

文档中的文件是什么?

  • SMCBasics.txt 包含有关SMC的一般信息

  • SMCKeys.txt 包含有关SMC密钥的文档

  • SMCLegacyKeys.html 包含有关SMC密钥的旧文档

  • SMCSensorKeys.txt包含libSMC.dylibSMC传感器键

  • SMCDumps包含运行创建的SMC密钥转储smcread -s,请添加更多!

  • SMCDatabase包含使用smcreadApple更新创建的SMC固件转储

  • SMCTypes 包含基于SMC代的SMC密钥列表 SMCDatabase

  • iStat.txt 包含iStat Menus密钥配置文件(FauxMac是检测到FakeSMC服务时的配置文件)

  • MacModels.txt 包含具有SMC固件转储状态的board-id < – > mac-model摘要

  • SensorInfo.md 包含基本的传感器操作方法

有什么工具?

  • rtcread 允许访问RTC / CMOS内存并包含相关的AppleRTC信息

  • smcread 允许访问SMC密钥,转储SMC固件和 libSMC.dylib

  • smc-fuzzer是一个旧smc工具的分支,缺少一些功能smcread

  • libaistat 允许在使用时从iStat菜单转储SMC密钥配置文件 DYLD_INSERT_LIBRARIES

什么是传感器?

  • SMCLightSensor使用新的SMC事件API实现照明传感器处理的示例(需要ACPI0008/ _ALI)

  • SMCBatteryManager 实现了AppleSmartBattery的SMC和SMBus协议的完整仿真层

  • SMCProcessor 实现Nehalem CPU或更新的温度监控

制作不易,无偿分享,运营艰难。如果有帮助到您,还请微微赞赏支持~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇