每部 iPhone 都有一个 NORID(8 字节)和 CHIPID(12 字节)对每部手机都是唯一的。
- 这个存储在哪里?也不?秒区?可以扔掉吗?
iPhone 需要 NCK 才能解锁。据我了解,NCK 是 15 个字符。
- 它是数字、字母还是字母数字?
用于检查 NCK 是否有效的安全令牌加密存储在 seczone 中的 +0x400 处。
- 这个对吗?
根据我从 dogbert 的博客中读到的内容,安全令牌是使用类似于以下伪代码的方法创建的:
deviceKey = SHA1_hash(norID+chipID)
nckKey = custom_hash(norID, chipID, SHA1_hash(NCK), deviceKey)
rawSignature = generateSignature(SHA1_hash(norID+chipID), SHA1_hash(chipID))
Signature = RSA_encrypt(rawSignature, RSAkey)
security token = TEA_encrypt_cbc(Signature, nckKey)
- 伪代码正确吗?如果是,那么正在使用的自定义哈希是什么?使用什么来生成 rawSignature?正在使用的 RSAKey 是什么?它是可以在手机中找到的公钥吗?
如果上面的伪代码是正确的。那么我们必须暴力破解所有 15 个字符组合才能找到正确的 NCK 密钥,对吗?因为,即使我们能够恢复 NORID 和 CHIPID,我们也无法使用该信息来缩短我们需要查找的字符数量。
- 正确的?
新一代 iPhone OS 包含一个在激活过程中生成的通配符。
- 但是一旦我们有了 NCK 就应该没问题了,对吧?正确的?