Linux dans un PDF ? Ce hack est aussi bizarre que génial

Linux dans un PDF ? Ce hack est aussi bizarre que génial


C’est l’histoire d’un lycéen qui s’est donné pour mission de prouver qu’un PDF peut exécuter toutes sortes de choses. Plus tôt cette année, Toms Hardware a rapporté qu’Ading2210 avait créé DoomPDF, inspiré par un portage de Tetris qui fonctionnait sur un PDF (Pdftris).

Les applications (et maintenant le noyau Linux) s’exécutent dans un fichier PDF chargé dans le navigateur.

Cela fonctionne grâce à une bibliothèque JavaScript standard limitée qui compile un émulateur RISC-V en JavaScript afin qu’il puisse s’exécuter dans un navigateur Web.

Un exploit impressionnant

La sortie de Linux dans le PDF est rendue sous forme de caractères ASCII. Cela ne fonctionne que dans le navigateur Chrome, et c’est un exploit impressionnant.

Une fois le noyau chargé, vous vous retrouvez sur une invite de terminal, où vous utilisez le clavier à l’écran pour saisir une commande.

C’est lent, mais vous pouvez exécuter de nombreuses commandes Linux, le tout à partir d’un PDF.

Tellement cool

J’ai ouvert le PDF de test, exécuté quelques commandes rapides et j’ai ri en le voyant en action.

L’environnement Linux contient un shell, vi (éditeur de texte) et plusieurs autres outils que vous pouvez tester. Cependant, sachez qu’il s’exécute, comme vous pouvez vous y attendre, lentement. Gardez également à l’esprit que les PDF ne sont pas exactement les documents les plus sécurisés. Cela dit, les implications du projet pourraient être de grande portée.

Bien sûr, un tel projet pourrait aussi être considéré comme un terrible avertissement de ce qui va arriver. On pourrait vous envoyer un PDF avec un système d’exploitation intégré. Ouvrez le PDF et toutes sortes de ravages pourraient survenir.

Cela dit, le projet linuxpdf n’en demeure pas moins fascinant. Vous pouvez consulter la source de linuxpdf ici et même la télécharger ou la compiler vous-même.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.