gpt4 book ai didi

ios - 在iOS更新期间,更新Ramdisk中的哪个二进制文件会加载内核?

转载 作者:行者123 更新时间:2023-12-01 19:54:06 25 4
gpt4 key购买 nike

enter image description here

上图指示Update Ramdisk在iOS更新期间加载了内核。如果可以,iOS 10.3.1 Update Ramdisk中的哪个二进制(ASR等)会加载内核?

最佳答案

它们都不是,这不是ramdisk的工作方式。

对于初学者来说,内核是在ramdisk上运行的,而不是相反。到目前为止,我在任何平台上都看到过任何内核-ramdisk对。

此外,来自iOS ramdisk的二进制文件都是userland二进制文件,这意味着:

  • 它们依赖于动态链接器(/usr/lib/dyld)和系统库。
  • 他们依靠系统调用。
  • 他们依赖于文件系统的可用性。
  • 它们以最低特权的处理器模式EL0(“用户区”)运行。

  • 如果其中任何一个想要加载内核,就会有很多问题:
  • 内核在EL1中运行。如果您在EL0中运行,那么您无权访问EL1中的任何内容,因此无法在其中放置任何内核。
  • 在EL1中,链接,库和系统调用的工作方式非常不同:
  • 系统库在EL1中不可用。我想可以使它们可用,但是由于在任何给定时间在EL1中只能执行一个二进制文件,这听起来像是一个巨大的过大杀伤力。
  • 在iOS(KXLD)中存在一个EL1链接器,但它是iOS内核的一部分,其设计用于将内核扩展链接到内核。它不适用于用户级二进制文件。
  • 从技术上讲,您可以使用svc指令从以EL1为目标的EL1生成异常,但是您将自己被调用以处理该异常,这意味着在加载内核之前,您就是内核。 Userland二进制文件没有为此准备。

  • 也就是说,我不确定您的图片要表达什么。我最好的猜测是,这意味着将指示的ramdisk传递给内核。无论如何,iBoot就是加载和设置内核的一种。

    关于ios - 在iOS更新期间,更新Ramdisk中的哪个二进制文件会加载内核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43797801/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com