如何在 iOS 9.3.5 iPod Touch 5 上找到内核映射偏移量?

How can I find the Kernel Map offset on iOS 9.3.5 iPod Touch 5?

我正在尝试围绕 GitHub 前一段时间发布的 v0rtex 漏洞构建一个工具,我需要找到 Kernel Map 和 Realhost 的偏移量。

我已经从 ipsw 解密了内核文件并将其加载到 IDA 中,但是我获得的偏移量似乎从来都不正确。 phone 错误。

我设法找到的偏移量:0x2b2b

这不是有效的偏移量。

我假设你的意思是 KERNEL_MAPREALHOST 偏移量。

如果您的桌面上已经有解密的 kernelcache 文件,并且您正在 macOS 上执行此操作(我假设您这样做,因为您正在构建一个 iOS 应用程序,这是其中之一查找偏移量的方法:

  1. 将您的 kernelcache 文件放在桌面上,并确保它名为“kernelcache”。
  2. 打开终端并粘贴以下命令:

对于KERNEL_MAP

nm kernelcache | grep ' _kernel_map$' | awk '{ print "0x"  }'

对于REALHOST

这有点棘手。 REALHOST 实际上是 host_priv_self_addr 您需要确保已安装 Radare2。

如果您没有 radare2,请安装

brew install radare2

之后,运行:

host_priv_self_addr=$(nm kernelcache | grep host_priv_self | awk '{ print "0x"  }')
    r2 -q -e scr.color=false -c "pd 2 @ $host_priv_self_addr" kernelcache 2> /dev/null | sed -n 's/0x//gp' | awk '{ print $NF }' | tr '[a-f]\n' '[A-F] ' | awk '{ print "obase=16;ibase=16;"  "+"  }' | bc | tr '[A-F]' '[a-f]' | awk '{ print "0x"  }'

将其放入 .sh 文件中,使用 chmod +x 赋予它适当的权限。

重要提示:必须使用 https://www.theiphonewiki.com/wiki/Genoa_13G36_(iPod5,1)

中的正确 KEY + IV 解密内核文件

花了一些时间 运行 这些是针对我手头的第 5 代 iPod Touch 9.3.5 的 IPSW。 KERNEL_MAP 偏移量为 0x80412010.

你必须自己找到另一个。