Каждый iPhone имеет NORID (8 байтов) и CHIPID (12 байтов), уникальные для каждого телефона.
iPhone требует NCK для разблокировки. Насколько я понимаю, NCK состоит из 15 символов.
Маркер безопасности для проверки допустимости NCK хранится в зашифрованном виде в + 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)
Если приведенный выше псевдокод ПРАВИЛЬНЫЙ. Тогда нам пришлось бы перебрать все 15 комбинаций символов, чтобы найти правильный NCK-ключ, верно? Потому что, даже если мы можем восстановить NORID и CHIPID, мы не сможем использовать эту информацию для сокращения количества символов, которые нам нужно найти.
Новые поколения iPhone OS содержат подстановочный знак, который создается в процессе активации.