De nombreux appareils sur le marché possèdent une configuration matérielle plus avancée que ce que l'on imagine, et ils deviennent rapidement un terrain fertile pour les passionnés qui cherchent à obtenir un accès de bas niveau avec un seul objectif : installer et exécuter Doom. C'est dans cet esprit que l'on arrive à l'expérience de Josh Max, qui a pris un téléphone fixe équipé d'un SoC ARM et d'une version modifiée de Linux, a obtenu les identifiants root après une longue attente, et a ouvert les portes de l'enfer pour le marine une fois de plus….

Comment exécuter Doom sur un téléphone fixe
Exécuter Doom

Alors qu'une partie du monde avance vers le retrait des lignes téléphoniques traditionnelles, il reste encore de nombreux produits et services associés à cette technologie. L'un de ces services est CaptionCall, qui propose des téléphones équipés d'un système de sous-titrage en temps réel, destinés aux utilisateurs malentendants. Les téléphones CaptionCall sont subventionnés par le gouvernement américain (via la FCC et la «Americans with Disabilities Act» de 1990), et il n'est pas difficile de se procurer des unités d'occasion à des prix raisonnables (moins de 30 dollars).

Comment exécuter Doom sur un téléphone fixe
Voici à quoi ressemble un téléphone CaptionCall

Les téléphones CaptionCall ont un autre détail très intéressant : ils sont essentiellement des ordinateurs. Sur son blog personnel, Josh Max explique qu'un téléphone CaptionCall possède un SoC ARMv7 i.MX6, 1 Go de RAM DDR3 et 4 Go de stockage NAND. Le problème est que son logiciel est verrouillé à sept clés, et en utilisant une version modifiée du noyau Linux, la société a été accusée de violer la GPL. Josh a décidé de ne pas s'arrêter là, et a procédé au piratage du téléphone avec une idée en tête : exécuter Doom.

Comment exécuter Doom sur un téléphone fixe piraté

Comment exécuter Doom sur un téléphone fixe

Après quelques tests externes, Josh a ouvert le téléphone et a trouvé un point d'accès UART, qui lui a permis d'accéder à la console système. Le compte root était protégé, mais avec une console U-Boot disponible (en appuyant sur «Échap» dans la première seconde après l'allumage du téléphone), Josh a lancé un dump du firmware via U-Boot sur une connexion série... ce qui a pris neuf heures, et a demandé plusieurs tentatives en raison des interférences dans la communication.

Comment exécuter Doom sur un téléphone fixe
L'image est en basse résolution, mais le point d'entrée est clairement visible...

Avec son dump terminé, Josh a utilisé binwalk pour décompresser l'image, et «John» (je pense que c'est John the Ripper) pour cracker le mot de passe root, qui est tombé en moins de dix secondes. Dans la dernière phase, Josh a supprimé l'interface propriétaire du téléphone, installé un chroot pour Debian Jessie ARM, réactivé l'audio, la vidéo et le support tactile, chargé IceWM, et enfin, DOOM.

La meilleure partie ? Le travail de Josh transforme le CaptionCall en une excellente plateforme de développement low cost. En ce moment, il effectue de la rétro-ingénierie sur le code (car la société ne le partage pas), et espère atteindre l'accélération 3D. DOOM n'est que le début...

Sources : Blog personnel de Josh Max, Hackaday