Apple 在 GitHub XNU-darwin 代码库中默默地公开了一些专用于 arm 和 arm64 的文件。虽然可能并非所有的开发人员对此都有兴趣,但是对于安全研究人员等人可能存在一些有意义的内容。
Darwin 是内核的代码名,它为 iOS 和 macOS 提供了基础。Apple 最初是在 2000 年通过自己的 opensource.com 网站上开源的,但这种方式导致了一些混淆,包括是否iOS 内核源代码是新发布的、发布是否是完全的等问题。因此,看上去以前的发布可能并不完全支持arm64 或Apple 最新的A11 SoC。但是,新发布的文件应该使编译Darwin for ARM 成为可能。特别是我们看到在README 文件中提及了iOS,并且在Makefile 中包括了arm/arm64 选项。
虽然这些文件使构建iOS 内核成为可能,但并不意味着所构建的iOS 可以安装到真正的设备上,因为设备的 bootrom 只允许运行经签名认证的内核。即便如此,所构建 iOS 内核对于构建 iOS 模拟器还是有所帮助的。事实上,曾有工作意图创建基于QEMU 的iOS 模拟器,该工作看上去近期正在复苏。据一名参与此项目的开发人员介绍:“专用于iOS 的代码非常有用,尤其是对于加速排除软件缺陷,以及实现使开发人员可以回避基本图形帧缓存的虚拟图形硬件。”此外,专用于iOS 的源代码的给出,将使安全研究人员可以发现新的软件缺陷和漏洞。这些缺陷和漏洞经常被揭露出来,并被利用于创建越狱iOS 的程序,越狱后的iOS 就能下载并安装非签名认证应用、扩展和主题。
评论