<p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/0bfe09391f48d553ef05ec1c02f33627.png" /></p> <p>Apple在 <a href="/misc/goto?guid=4959011271389497067" rel="nofollow,noindex">GitHub XNU-darwin代码库</a> 中默默地公开了一些专用于arm和arm64的文件。虽然可能并非所有的开发人员对此都有兴趣,但是对于安全研究人员等人可能存在一些有意义的内容。</p> <p><a href="/misc/goto?guid=4959011271484712545" rel="nofollow,noindex">Darwin</a> 是内核的代码名,它为iOS和macOS提供了基础。Apple最初是在2000年通过自己的 <a href="/misc/goto?guid=4959011271589703867" rel="nofollow,noindex">opensource.com</a> 网站上开源的,但这种方式导致了一些 <a href="/misc/goto?guid=4959011271672480811" rel="nofollow,noindex">混淆</a> ,包括是否iOS内核源代码是新发布的、发布是否是完全的等问题。因此,看上去 <a href="/misc/goto?guid=4959011271765027876" rel="nofollow,noindex">以前的发布可能并不完全支持arm64</a> 或Apple最新的A11 SoC。但是,新发布的文件应该使编译Darwin for ARM成为可能。特别是我们看到在README文件中提及了iOS,并且在Makefile中包括了arm/arm64选项。</p> <p>虽然这些文件使构建iOS内核成为可能,但并不意味着所构建的iOS可以安装到真正的设备上,因为设备的 <a href="/misc/goto?guid=4959011271861660529" rel="nofollow,noindex">bootrom</a> 只允许运行经签名认证的内核。即便如此,所构建iOS内核对于构建iOS模拟器还是有所帮助的。事实上,曾有工作意图创建 <a href="/misc/goto?guid=4959011271953005225" rel="nofollow,noindex">基于QEMU的iOS模拟器</a> ,该工作看上去近期正在 <a href="/misc/goto?guid=4959011272038467037" rel="nofollow,noindex">复苏</a> 。 <a href="/misc/goto?guid=4959011272147086448" rel="nofollow,noindex">据一名参与此项目的开发人员介绍</a> :“专用于iOS的代码非常有用,尤其是对于加速排除软件缺陷,以及实现使开发人员可以回避基本图形帧缓存的虚拟图形硬件。”此外,专用于iOS的源代码的给出,将使安全研究人员可以发现新的软件缺陷和漏洞。这些缺陷和漏洞经常被 <a href="/misc/goto?guid=4959011272225640603" rel="nofollow,noindex">揭露</a> 出来,并被利用于创建 <a href="/misc/goto?guid=4959011272321464967" rel="nofollow,noindex">越狱iOS</a> 的程序,越狱后的iOS就能下载并安装非签名认证应用、扩展和主题。</p> <p>查看英文原文: <a href="/misc/goto?guid=4959011272411514584" rel="nofollow,noindex">Apple Open-sourced the iOS Kernel for ARM CPUs</a></p> <p>来自: http://www.infoq.com/cn/news/2017/10/apple-open-sources-arm-darwin</p>