Wiele urządzeń na rynku ma konfigurację sprzętu bardziej zaawansowaną, niż mogłoby się wydawać, i szybko staje się żyznym gruntem dla entuzjastów, którzy szukają dostępu niskiego poziomu w jednym celu: zainstalować i uruchomić Dooma. Z tą myślą docieramy do eksperymentu Josha Maxa, który wziął telefon stacjonarny wyposażony w SoC ARM i zmodyfikowaną wersję Linuksa, uzyskał dostęp root po długim oczekiwaniu i otworzył piekielne portale dla marinesa po raz kolejny…

Jak uruchomić Dooma na telefonie stacjonarnym
Uruchamianie Dooma

Podczas gdy część świata przechodzi na emeryturę tradycyjnych linii telefonicznych, wciąż istnieje wiele produktów i usług z nimi związanych. Jedną z takich usług jest CaptionCall, które oferuje telefony wyposażone w system napisów kodowanych w czasie rzeczywistym, przeznaczony dla osób z wadami słuchu. Telefony CaptionCall są dotowane przez rząd USA (za pośrednictwem FCC i „Americans with Disabilities Act” z 1990 roku) i nietrudno zdobyć używane egzemplarze w rozsądnych cenach (poniżej 30 dolarów).

Jak uruchomić Dooma na telefonie stacjonarnym
Tak wygląda telefon CaptionCall

Telefony CaptionCall mają jeszcze jeden bardzo interesujący szczegół: to w zasadzie komputery. Na swoim blogu Josh Max wyjaśnia, że telefon CaptionCall ma SoC ARMv7 i.MX6, 1 GB pamięci RAM DDR3 i 4 GB pamięci NAND. Problem polega na tym, że jego oprogramowanie jest zamknięte na siedem spustów, a przy użyciu zmodyfikowanej wersji jądra Linux firma została oskarżona o naruszenie GPL. Josh nie poprzestał na tym i postanowił zhakować telefon z jednym celem: uruchomić Dooma.

Jak uruchomić Dooma na zhakowanym telefonie stacjonarnym

Jak uruchomić Dooma na telefonie stacjonarnym

Po kilku testach zewnętrznych Josh otworzył telefon i znalazł punkt dostępu UART, który pozwolił mu dostać się do konsoli systemowej. Konto root było chronione, ale z dostępną konsolą U-Boot (naciskając „Escape” w pierwszej sekundzie po włączeniu telefonu) Josh uruchomił zrzut oprogramowania sprzętowego przez U-Boot po połączeniu szeregowym... co zajęło dziewięć godzin i wymagało kilku prób z powodu zakłóceń w komunikacji.

Jak uruchomić Dooma na telefonie stacjonarnym
Obraz jest niskiej rozdzielczości, ale punkt wejścia jest wyraźnie widoczny...

Po zakończeniu zrzutu Josh użył binwalk do dekompresji obrazu i „Johna” (myślę, że to John the Ripper) do złamania hasła root, które padło w mniej niż dziesięć sekund. W ostatniej fazie Josh usunął autorskie oprogramowanie telefonu, zainstalował chroot dla Debian Jesse ARM, przywrócił obsługę audio, wideo i dotyku, załadował IceWM, a na końcu DOOM.

Najlepsza część? Praca Josha zamienia CaptionCall w doskonałą platformę deweloperską low-cost. Obecnie prowadzi inżynierię wsteczną kodu (ponieważ firma go nie udostępnia) i ma nadzieję na osiągnięcie akceleracji 3D. DOOM to tylko początek...

Źródła: Blog Josha Maxa, Hackaday.