我的代码是在hackintosh上运行的吗?

Ada*_*vis 5 testing macos kernel hackintosh

我正在为一个客户开发一个内核驱动程序,该客户端将其出售给将其出售给最终客户的客户.最终客户不仅在合同中被移除了3次,而且还有数千英里和十几个时区.因此,我无法直接访问他们的测试环境.

在我正在测试的几台机器和几个不同版本的OS X上,一切都正常测试,我无法复制它们似乎遇到的一些问题.

我怀疑他们可能正在测试hackintosh,虽然我正在从他们的测试设置正确的角度处理他们报告的问题,但我想通过在下一个版本中添加代码来怀疑我的怀疑这将帮助我了解它们是否在真正的Apple硬件上运行.

现在我正在收集系统配置文件,kernel.log,console.log和USB配置文件.如果答案可以在其中一个中找到,那就更好了,但我假设它不会那么简单.

  • 我有什么选择来确定我的驱动程序运行的计算机是否包含真正的Apple硬件?

同样,我在用户空间和内核中都有代码,因此我可以完全访问该机器,但我更喜欢用户空间解决方案.用户空间代码以root身份运行,并在Apple徽标显示之前开始在启动时运行.虽然支持多个版本的OS X会很好,但10.6.8是我需要针对此案例定位的特定版本.

Ada*_*vis 1

我正在收集每个错误报告的 system_profiler 输出,并且我可以将报告的硬件与EveryMac 上的列表进行比较。

如果有一个更好的答案可以在软件中完成此任务,而无需编译我自己的 Mac 硬件数据库,那就太好了,但这可能是在软件中完成此任务的最全面的方法。最简单的方法可能是询问 IO 注册表中的几个关键硬件(显卡、处理器等),然后一旦数据返回,本地软件就会根据已知 Apple 硬件配置的数据库对其进行检查。

现在我正在手动检查系统配置文件输出。