Pull to refresh

Comments 14

Спасибо.
Последний раз читал подобное хорошее описание поиска ключа еще ФИДО у Кодеры :D
UFO just landed and posted this here
А как так получается, что «Если поXORить CPUImage от обновлений v3.7 и v3.7.4… обнаружим строчку»?
Присоединяюсь к вопросу, непонятный момент. Выше сказано, что ключ находится по разным адресам во всех трех версиях.
Да даже если по одинаковым. Xor двух одинаковых файлов даст ноль, а если они ещё и были зашифрованы разными участками ключа, т.е. лежали по разным смещениям от начала, то получится мусор. Хотя могу ошибаться. Ждём автора :)
А, кажись вкурил. Каждый файл шифруется отдельно, т.е. смещения нет. Тогда получается что, в одном из CpuImage по указанному смещению были нули, а в другом — пароль? Невероятное везение)
Cлушал этот доклад на DС7499. Благодарю за статью!
Эх, а достаточно было шифровать обновления сессионным ключом, которой в свою очеред зашифрован неизменным мастер-ключом.
Сессионный ключ тоже надо откуда-то надо взять. Проще было бы применить нормальный режим шифрования вроде CTR. Но тогда не было бы статьи.
Сессионный ключ генерится на этапе создания обновления. Он шифруется мастер-ключом, который неизменен и зашит в обновляльщик. RC4 — шифр поточный, поэтому понятие режима шифрования нам не существует.
Конечно, если бы они взяли AES, да c CTR, да не забывали бы юзать каждый раз новый IV, то статьи бы не существовало…
Практически по каждому шагу читал с чувством «ну да, я бы долго до такого доходил, чувствуется большой опыт по реверсу», но на 7 шаге прям расстроился. Ведь тупо повезло же, что в другой прошивке в этом же месте нули.
Это не сколько везение, сколько обычный процесс эволюции. Ключ часто уходит в хвост бинаря, а бинари имеют тенденцию расти от версии к версии.
Sign up to leave a comment.