Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

C'était le dernier mystère de Splinter Cell

L’expert en sécurité Lander, a passé des semaines à cracker le format .lin de Splinter Cell sur la Xbox originale. C’est un format de fichier qui est resté mystérieux pendant deux décennies et c’est pas parce qu’il était ultra-sécurisé ou chiffré de fou.

Non, c’est juste parce qu’il était optimisé pour du matos obsolète !

En effet, les fichiers .lin, c’est le format utilisé par la version Xbox de Splinter Cell pour stocker tous les assets du jeu. Ce sont des archives compressées en zlib contenant des packages Unreal Engine 2, sauf que contrairement aux formats classiques que vous pouvez ouvrir tranquille avec n’importe quel outil d’extraction, ceux-là résistaient à tout depuis +20 ans. Hé oui, durant toutes ces années, la communauté modding essayait de les décoder mais sans succès…

On pensait que le problème venait du chiffrement mais en fait, pas du tout ! Le problème c’est que ce format était juste conçu d’une manière totalement inadaptée aux outils modernes. C’est ce que Lander appelle dans son article un “non-seekable format with lazy loading and interleaved exports”. En gros, vous pouviez pas juste pointer sur un offset et lire le fichier car tout était entrelacé, chargé à la demande, et optimisé pour la RAM limitée de la Xbox originale.

Du coup, impossible d’utiliser les extracteurs classiques d’archives UE2. La seule solution qu’il restait c’était donc de comprendre exactement comment le jeu chargeait ces fichiers en mémoire sur la console d’origine.

Lander a alors sorti l’artillerie lourde. D’abord l’émulateur xemu pour faire tourner la Xbox sur PC et ensuite il a posé des breakpoints mémoire pour capturer le moment exact où le jeu charge un fichier .lin.

Il a ensuite sorti IDA Pro pour analyser le code assemblé du jeu et quand l’analyse statique suffisait plus, il a patché directement le binaire du jeu pour forcer certains comportements…

Et bien sûr, pour notre plus grand plaisir, il documente tout ça dans un article avec des captures d’écran d’IDA Pro et des explications sur les structures de données. Bref, c’est du bon gros reverse engineering pur et dur, à l’ancienne, avec hex editor et la patience d’un moine bouddhiste.

Lander a ainsi réussi à extraire une partie du contenu tels que les textures, certains fichiers système, des données sur les niveaux du jeu, mais surtout, il a documenté la structure complète du format. Et ça, c’est peut-être plus important que l’extraction elle-même, parce que dans 10 ans, quand un autre passionné voudra bosser sur la préservation de Splinter Cell Xbox, il aura la doc. Il comprendra pourquoi ce format était comme ça, comment ça fonctionnait, quelles étaient les contraintes hardware de l’époque et j’en passe…

Voilà, une fois encore la préservation du jeu vidéo, c’est pas juste télécharger des ROMs mais c’est aussi comprendre les architectures, documenter les formats propriétaires, et reverse engineerer le code avant que ce ne soit trop tard !

Bravo Lander !

Quand le set LEGO Game Boy prend vie

J’espère que votre semaine se passe bien. Moi c’est la course comme d’hab… Mais je viens de tomber sur un truc que j’ai trouvé super cool et je ne résiste pas à l’envie de partager ça avec vous. Vous avez vu le nouveau set LEGO Game Boy officiel (lien affilié) qui vient de sortir ? 421 pièces, une soixantaines d’euros, une réplique à l’échelle 1:1 avec des cartouches Link’s Awakening et Super Mario Land faits de briques… C’est joli, c’est nostalgique, mais ça ne fait strictement rien. C’est juste décoratif.

Et bien selon The Verge , une moddeuse australienne du nom de Natalie the Nerd a trouvé ça carrément abusé, alors elle a fait ce que ferait n’importe quel geek qui se respecte : elle l’a transformé en vraie console Game Boy fonctionnelle. Et attention, je ne vous parle pas d’un vulgaire Raspberry Pi Zero planqué dedans avec un émulateur. Non, non, non, elle y a mis des vrais morceaux de Game Boy, avec de VRAIES cartouches qui tournent, ainsi qu’un circuit imprimé qu’elle a conçu elle-même.

Bah oui, pourquoi faire simple quand on peut faire compliqué ?

Pour arriver à ses fins, elle a dû miniaturiser toute la logique d’une Game Boy sur un PCB de la taille d’un timbre-poste. Elle a installé l’écran le plus petit du marché (ce qui l’a obligée à retirer quelques briques LEGO au passage), passé un port USB-C pour l’alimentation, et même prévu des boutons totalement fonctionnels.

D’ailleurs, en août dernier, Natalie avait fait aussi le buzz avec une Game Boy Color entièrement transparente , circuit imprimé inclus. Elle a conçu un PCB en matériau acrylique transparent où on voit tous les fils de cuivre flotter dans le vide. Super beau, super technique, mais elle-même disait que c’était juste un projet artistique pour montrer son travail, et pas quelque chose de très pratique.

Elle a même fondé le Modded Gameboy Club , une communauté avec un Discord et un Wiki où les gens partagent leurs tutos pour réparer, modifier, upgrader leurs vieilles consoles Nintendo. Elle vend aussi des composants de seconde main pour les modders et partage ses designs de circuits en open source.

Et bonne nouvelle pour ceux qui voudraient reproduire sa version fonctionnelle de la LEGO Game Boy puisqu’elle a annoncé qu’elle publierait les schémas et les plans une fois qu’elle serait satisfaite du résultat final. Donc si vous avez des compétences en soudure et que l’idée de fabriquer un PCB custom ne vous fait pas peur, vous pourrez bientôt tenter l’aventure.

En tout cas, moi je trouve ça trop super méga génial !

ToddlerBot - Le robot humanoïde à 4300 $ qui ridiculise les géants de la tech

Voici une info qui risque de faire grincer des dents chez Boston Dynamics et Tesla (ou pas ^^). Un doctorant de Berkeley, du nom de Haochen Shi, a décidé de partager généreusement avec le monde entier les plans d’un robot humanoïde fonctionnel pour seulement 4300 dollars de base. Oui, le prix d’une Nintendo Switch 2 (je rigole ^^) pour un robot bipède capable d’apprendre par lui-même.

Notre petit prodige s’appelle ToddlerBot , il mesure 33 centimètres de haut et possède 17 degrés de liberté. Pour vous donner une idée, c’est largement suffisant pour qu’il puisse marcher, manipuler des objets avec ses bras et effectuer des tâches complexes. Le tout avec des pièces imprimées en 3D et des servomoteurs qu’on trouve sur AliExpress.

Et notre ami Shi n’a pas juste mis en ligne un énième projet de robotique universitaire. Non, le gars a carrément publié l’intégralité du projet en open source sur GitHub sous licence MIT. Les fichiers CAD, le code Python, les schémas électroniques, tout y est. Vous pouvez donc littéralement cloner le repo et commencer à imprimer votre robot ce soir.

Côté hardware, l’architecture repose sur un Jetson Nano ou un Raspberry Pi selon votre budget. Les servomoteurs pour les jambes offrent un couple respectable pour cette échelle, pendant que les bras utilisent des modèles plus légers. Au final, le coût de base est de 4300 $, mais peut varier selon où vous achetez vos composants et les options que vous choisissez.

Mais attendez, le hardware n’est que la moitié de l’histoire. Du côté software, ToddlerBot intègre un système de téléopération complet qui permet de le contrôler à distance pour collecter des données d’entraînement. Cette approche de collecte de données est cruciale pour l’apprentissage par renforcement.

D’ailleurs, par rapport aux autres projets de robots humanoïdes low-cost, ToddlerBot se démarque par sa simplicité d’assemblage. Là où des projets comme Poppy nécessitent des compétences avancées en électronique, ToddlerBot peut être monté relativement facilement avec des outils basiques.

Ce qui change vraiment la donne ici, c’est l’écosystème qui commence à se former autour. Des makers du monde entier partagent déjà leurs modifications… certains ont ajouté des caméras pour la vision par ordinateur, d’autres expérimentent avec des matériaux différents pour les pièces imprimées. Les possibilités de personnalisation sont infinies.

Pour l’entraînement IA, le projet propose des environnements de simulation préconfigurés. Ça rend le transfert sim-to-real, comme disent les chercheurs, accessible au commun des mortels. Vous pouvez donc apprendre à votre robot à marcher, ramasser des objets ou même jouer au foot miniature. Les modèles pré-entraînés sont disponibles, mais rien ne vous empêche de partir de zéro avec vos propres algorithmes d’apprentissage par renforcement.

Un aspect que je trouve particulièrement cool dans ce projet c’est que ToddlerBot est conçu pour être modulaire. Vous voulez des bras plus longs ? Modifiez les fichiers CAD. Besoin de plus de puissance de calcul ? Remplacez le Raspberry Pi par un Jetson Orin. Cette flexibilité transforme chaque robot en plateforme d’expérimentation unique.

Les implications sont énormes car si n’importe qui peut construire un robot humanoïde pour le prix d’une console de jeu, on entre dans une nouvelle ère de la robotique. Fini le monopole des labos universitaires, des millionnaires et des géants de la tech. Bien sûr, il faut quand même des compétences techniques pour exploiter pleinement le potentiel du projet, mais la barrière d’entrée n’a jamais été aussi basse.

Et ce côté DIY ajoute une dimension émotionnelle qu’on ne retrouve pas avec un produit commercial. C’est votre création, votre code, vos améliorations.

Alors vous voulez vous lancer, commencez par commander les servomoteurs (comptez 3-4 semaines de livraison depuis la Chine) et pendant ce temps, imprimez les pièces et familiarisez-vous avec le code. La documentation du projet est bien faite et la communauté est vraiment accueillante avec les débutants.

N’empêche, un robot humanoïde fonctionnel à imprimer en 3D… Qui l’aurait cru ?

Comment modder une Game Boy avec du matos basique de chez basique

Quand j’étais jeune, j’ai eu la chance d’avoir une Game Boy originale et au fil des années, j’avais accumulé pas mal de jeux. Malheureusement un jour, un membre malfaisant de ma famille a quasiment tout volé pour les revendre à je ne sais qui, mais j’ai quand même réussi à sauver ma GB d’origine et surtout Tetris qui est, encore aujourd’hui, mon jeu préféré.

Je n’y joue pas souvent, mais je sais que si un jour elle tombe en panne, grâce à ce projet, je pourrais la réparer sans souci et même avoir de nouvelles fonctionnalités super cools. D’ailleurs qui n’a jamais rêvé de pimper sa bonne vieille Game Boy tout en conservant son look d’origine indémodable ?

❌