Tech News 24 · обновляется круглосуточно
🔴 LIVE: свежие новости технологий · ИИ · космос · безопасность

TechNews24

Технологии · Наука · Будущее

[Перевод] Разложил 512-битный RSA-ключ за 8,5 часа и вернул режим разработчика в T-Mobile Sidekick

Разное10 ноября 2026, 16:10📰 Хабр

Автор оригинала: x86.cx Danger Hiptop, больше известный как T-Mobile Sidekick, вышел в 2002 году. У него была полноценная QWERTY-клавиатура, встроенные AIM и Yahoo Messenger и push-уведомления, и всё...

Danger Hiptop, больше известный как T-Mobile Sidekick, вышел в 2002 году. У него была полноценная QWERTY-клавиатура, встроенные AIM и Yahoo Messenger и push-уведомления, и всё это в годы, когда большинство телефонов с трудом справлялись с SMS. Работало всё на DangerOS, собственной Java-операционке Danger.

Sidekick был облачным устройством ещё до того, как слово «облако» стало привычным. Всё хранилось на серверах Danger: контакты, сообщения, фотографии, настройки. Большинство владельцев понятия не имели, что их телефон, по сути, тонкий клиент, целиком зависящий от бэкенда, о котором они никогда не задумывались. Он просто работал, и этого хватало. В 2008 году Danger купила Microsoft, в 2009-м случилась катастрофическая потеря данных, стёршая у пользователей контакты, фотографии и личные файлы, а в 2011-м сервис закрыли окончательно. Телефону, который держал всё на чужих серверах, стало не с кем разговаривать.

Danger давно нет, и я начал копаться в том, что от неё осталось. В итоге нашёл на archive.org копию SDK[1]: в нём было всё, что нужно для разработки под устройство, — документация, примеры, симулятор и набор JAR-файлов. Я закинул эти JAR-ы в JADX, и декомпиляция показала, как устройство работает изнутри.

Мне хотелось запустить собственный код на настоящем Sidekick, а значит, предстояло разобраться с моделью безопасности Danger. DangerOS запускает только программы, подписанные Danger или оператором. Разработчики обходили это с помощью ключа разработчика. Прошиваешь его в телефон, и тот переходит в режим разработчика: принимает приложения по USB и включает htconsole, отладочную консоль Danger.

Когда-то получить такой ключ было на удивление просто. В 2003 году Danger сама отбирала первых разработчиков и рассылала ключи по почте поштучно, и некоторые ждали ответа неделями.

К концу года появилась веб-форма для самообслуживания: вводишь номер счёта T-Mobile и IMEI, соглашаешься отказаться от поддержки оператора, и подписанный ключ приходит на почту. Так продолжалось до сентября 2010 года, когда Danger сообщила разработчикам, что перестаёт принимать новые приложения[2], а через несколько недель закрыла сайт для разработчиков — единственное место, где можно было получить ключ. Ключи больше никто не выдаёт, так что если он мне нужен, придётся сделать его самому.

На фоне открытого Android необходимость спрашивать у производителя разрешения просто чтобы запустить свой код звучит дико. А может, и нет: Google как раз вводит верификацию разработчиков, и скоро приложение от разработчика, не зарегистрированного в Google, можно будет поставить только через adb или через запрятанный «расширенный сценарий».

Ключ разработчика Sidekick крошечный: одна настройка конфигурации, lock_to_imei_0, со значением IMEI телефона, и подпись Danger над ней. Бывает он в двух видах. Старые Hiptop принимали его как небольшой файл .sq, а Sidekick 3 — как .jar, устроенный как подписанное Java-приложение и устанавливаемый из режима восстановления. Подписаны оба одинаково, а единственный настоящий ключ, который мне удалось найти, был в формате .sq.

С настройкой всё просто. А чтобы сделать подпись, нужно знать, каким ключом телефон её проверяет, и этот ключ должен был где-то лежать в прошивке. Когда-то один студент получил полный JTAG-доступ к старому Sidekick и снял дамп его флеш-памяти[3], но для этого нужно железо, которого у меня нет, а его ссылки на скачивание давно мертвы.

К счастью, на archive.org сохранилась ServiceProgrammer — программа Danger для перепрошивки Sidekick II[4]. В ней лежат полные заводские образы ОС. Я прошёлся по всем образам в поисках всего, что похоже на сертификат или открытый ключ, и вытащил несколько десятков: сертификаты для подписи от разных операторов — T-Mobile, Fido, KPN и других, — заводские корневые сертификаты и несколько публичных корневых сертификатов TLS. Закрытых ключей, конечно, не было. Большинство ключей были 1024-битными RSA, но один сертификат выделялся:

Читать полностью на Хабр →
Ещё в разделе «Разное»