# ApNonceセット

WARNING

At your own risk

com.apple.System.boot-nonce=<generator>にセットされた値に基づきApNonceが設定される。

#

# A7

generatorSHA-1値に基づきApNonceが設定される。

generator -> ApNonce

# A11

generatorSHA-384値に基づきApNonceが設定される。

generator -> ApNonce

# A12

generator値がデバイス固有の何かに基づきデバイス固有のランダム値となった上でApNonceが設定される。

generator -> デバイス固有の何か -> ApNonce

# 現状

# A6以前

# デバイスの復元

  • generatorは使わない。保存したSHSHを用いてpwned DFU modeからiBSS/iBECに署名チェック回避を適用したOFWで復元する、もしくはCFWを使用して復元する手法が主流。

# A7-A11

# generatorセット

  • checkm8があるのでいつでもgeneratorをセット可能。

# shsh2の保存

  • generatorによって生み出されるApNonce値が決まっているので、ある種のgenerator値を設定してshsh2の保存をすれば良い。

# デバイスの復元

  • shsh2の保存時に設定したgenerator値をデバイスに適用すれば復元可能。(ただしSEP互換性に注意)

# A12以降

# generatorセット

  • generatorをセットするにはカーネルの脆弱性が必須。

# generatorの仕様

  • generatorによって生み出されるApNonce値がわからない。ただしgeneratorによって生み出されるApNonce値は固定されている(と思われる)ため、一度脱獄してgeneratorをセットし、吐き出されるApNonce値を割り出す作業を行えば良い。

# shsh2の保存

  • generatorによって生み出されるApNonce値がデバイスによって異なる。ある種のgenerator値を設定した後、デバイスをRecovery ModeにしてApNonce値を確認する必要がある。
  • generatorApNonceの値は紐づいている(と思われる)が、この値はデバイスごとに異なるため、上記の手法で割り出したApNonce値を元にshsh2を保存する必要性がある。

# デバイスの復元

  • shsh2の保存時に設定したApNonce値を吐き出すgeneratorをデバイスに適用すれば復元可能。(ただしSEP互換性に注意)