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就能下载并安装非签名认证应用、扩展和主题。
查看英文原文: Apple Open-sourced the iOS Kernel for ARM CPUs
来自: http://www.infoq.com/cn/news/2017/10/apple-open-sources-arm-darwin