Vue lecture

SpaghettiKart - Le portage PC / Switch de Mario Kart 64

SpaghettiKart est sorti en juin dernier et c’est le portage sur PC / Switch de Mario Kart 64, signé HarbourMasters. Si ce nom vous dit quelque chose, c’est normal car ce sont les mêmes qui ont porté Zelda Ocarina of Time avec Ship of Harkinian, Zelda Majora’s Mask avec 2Ship2Harkinian, et Star Fox 64 avec Starship . Quatre jeux N64 majeurs portés avec la même méthode, ce n’est plus du bricolage. Ils ont industrialisé le portage N64, je pense !

Et la clé, c’est libultraship . Il s’agit d’une lib qui d’éviter le gros du boulot technique pour porter des jeux N64 vers des plateformes modernes. Grâce à ça, chaque nouveau portage devient un projet de quelques mois au lieu de plusieurs années. Ship of Harkinian a défriché le terrain et maintenant, le pipeline est bien rodé.

Le fonctionnement de SpaghettiKart est simple. Vous lui fournissez votre ROM Mario Kart 64 US légale, vous générez un fichier O2R avec l’outil fourni, et vous lancez le jeu ! SpaghettiKart tourne sur Windows, Linux, macOS (pas de binaire dispo encore) et même Nintendo Switch. Comme les backends graphiques supportent DirectX11, OpenGL et Metal, c’est multiplateforme dès le départ.

Et les fonctionnalités sont celles que Nintendo devrait proposer mais ne propose pas comme le support ultrawide et 4K, une fréquence d’images élevées, de l’antialiasing, un niveau de détails poussé au mac et des contrôles personnalisables. Y’a même la possibilité de mettre vos assets customs et d’éditer des circuits donc autant dire que les moddeurs vont de régaler…etc. Bref, tout ce que Mario Kart 64 aurait dû devenir si Nintendo y avait mis 1 % de l’énergie qu’ils mettent à envoyer des DMCA .

Techniquement, SpaghettiKart est encore en work-in-progress, ça peut planter et toutes les fonctionnalités ne sont pas encore implémentées, mais le jeu est déjà jouable et fonctionnel.

HarbourMasters cible les jeux N64 emblématiques que Nintendo refuse de moderniser correctement… Bref, le catalogue N64 est en train de se faire sauver par trois dev bénévoles.

Voilà, donc si vous voulez jouer à Mario Kart 64 en ultrawide à 120 FPS avec vos propres circuits custom, allez voir SpaghettiKart sur GitHub .

Merci au matinal Lorenper pour l’info !

  •  

Quand Amazon transforme vos ebooks en manuscrits médiévaux impossible à déchiffrer ou presque

Voici l’histoire de Pixelmelt, un développeur qui voulait simplement sauvegarder en local un ebook acheté sur Amazon pour le lire avec une autre app parce que l’app Kindle d’Android a crashé une fois de trop à son goût.

Mais c’est impossible. Pas de bouton download, pas d’export, que dalle… Même si vous avez acheté le livre, c’est Amazon qui décide de comment et de quand vous pouvez le lire.

Bref, frustré, il se tourne alors vers le Kindle Cloud Reader, la version web de l’app. Et là, il découvre un truc incroyable ! Amazon a créé un système d’obfuscation tellement complexe qu’il ressemble aux techniques de cryptographie des manuscrits anciens. Mais siii, vous savez, ces textes enluminés que seuls les moines pouvaient déchiffrer au Moyen-Âge. Amazon a réinventé le concept en version numérique.

Pour fonctionner, le Kindle Cloud Reader utilise un endpoint de rendu qui nécessite plusieurs tokens d’authentification. Déjà c’est pas simple. Mais ça se corse un peu plus quand on regarde le texte qui s’affiche car ce ne sont pas des lettres ! Ce sont des glyphes, essentiellement des séries de coordonnées qui dessinent une lettre. Ainsi, au lieu de stocker le caractère ‘T’, Amazon stocke “glyphe 24” qui correspond à une forme dessinée via des commandes SVG. Et ces glyphes changent de mapping toutes les 5 pages, un peu comme un codex (coucou Dan Brown ^^) où l’alphabet se transforme à tous les chapitres.

Du coup, pour son livre de 920 pages, il a fallu faire 184 requêtes API distinctes. Chaque requête récupère un nouveau jeu de glyphes soit au total 361 glyphes uniques découverts, et 1 051 745 glyphes à décoder. Oui, ça fait plus d’un million de symboles à traduire pour lire un seul livre.

Amazon a même ajouté des pièges comme des micro-opérations MoveTo complètement inutiles dans les SVG qui s’affichent parfaitement dans le navigateur mais cassent toute tentative de parsing automatique. C’est de l’anti-scraping placé là volontairement, comme des fausses pistes dans des cryptogrammes médiévaux destinées à tromper les copistes non autorisés.

Face à ce délire, notre développeur est alors devenu malgré lui un crypto-archéologue. Sa méthode a donc été de comparer pixel par pixel chaque caractères, valider chaque hypothèse, pour tout reconstruire patiemment. Je vous passe les détails techniques mais il a sorti chaque glyphe SVG sous la forme d’une image, puis a comparé ces images pour trouver leur correspondance avec les vraies lettres en utilisant un outil (SSIM) qui simule la perception humaine pour évaluer la similarité entre deux images.

Résultat, 100% des glyphes matchés ont un score quasi-parfait ce qui lui a permis de reconstruire un fichier EPUB complet avec le formatage, les styles, les liens internes…etc. Tout y est, c’est trop fort !

Bref, Pixelmelt 1 - Amazon 0 ! Et ça, ça fait plaisir ! Maintenant si vous voulez connaitre tous les détails de ça et refaire la même chez vous (pour rigoler hein, ne vous lancez pas dans dans une opération de piratage massif sinon vous finirez en taule comme Sarko ^^)

  •  

Diffrays - Un super outil de diffing binaire IDA Pro pour la recherche de vulnérabilités

Tous les mardis soir, c’est la même chose dans le petit monde de la cybersécurité : Microsoft balance ses patches, et dès le mercredi matin, c’est la ruée vers l’or pour les experts sécu. Bienvenue dans l’univers déjanté de l’Exploit Wednesday, où des chercheurs du monde entier se transforment en cyber-archéologues pour y déterrer les vulnérabilités avant que les méchants ne s’en emparent afin de coder des exploits.

Et un nouvel outil vient de débarquer pour pimenter cette course folle : Diffrays .

Imaginez… il est 3h du matin, on est mercredi et pendant que vous dormez tranquillement, des milliers de chercheurs en sécurité sont déjà en train de comparer frénétiquement les binaires de Windows fraîchement patchés avec leurs versions vulnérables.

Pourquoi est-ce qu’ils font ça ? Hé bien c’est parce que chaque seconde compte. L’IA a réduit de 40% le temps nécessaire pour identifier une vulnérabilité à partir d’un patch et ce qui prenait des jours prend maintenant des heures, notamment aux cybercriminels, du coup, la course s’est transformée en sprint.

Et c’est là que Diffrays entre en scène. Cet outil, conçu par pwnfuzz, fait ce qu’on appelle du “patch diffing”. Pour les non-initiés, le patch diffing, c’est l’art de comparer deux versions d’un programme pour trouver ce qui a changé. Un peu comme comparer deux photos pour jouer au jeu des 7 différences, sauf que là, on cherche des bugs qui valent potentiellement des millions.

Pour cela, Diffrays utilise IDA Pro et sa nouvelle IDA Domain API pour extraire le pseudocode des fonctions et les comparer de manière structurée. Et ce n’est un vulgaire comparateur de texte…non… Diffrays génère en fait une base de données SQLite complète avec toutes les différences trouvées, et lance même un serveur web local pour naviguer dans les résultats. Vous tapez diffrays diff old.exe new.exe, puis diffrays server --db-path results.sqlite, et hop, vous avez une jolie interface web sur http://localhost:5555 pour explorer ces changements.

Grâce à cet outil, chacun peut savoir exactement comment Microsoft corrige ses bugs. Prenez par exemple l’analyse du driver Clfs.sys montrée dans la documentation de Diffrays . Les chercheurs ont téléchargé deux versions du driver. La première vulnérable (10.0.22621.5037) et la seconde patchée (10.0.22621.5189) puis ont laissé Diffrays faire son travail… Et en quelques minutes, l’outil a identifié exactement quelles fonctions avaient été modifiées et comment.

Évidemment, Diffrays n’est pas seul sur ce marché juteux. Google a son BinDiff , il y a aussi Diaphora, et maintenant même des outils boostés à l’IA comme DeepDiff qui convertissent le code en “embeddings” (des représentations mathématiques) pour trouver des similarités. Mais Diffrays a un avantage, il est open source, gratuit, et surtout, il est conçu spécifiquement pour la recherche. Pas de conneries marketing, juste du code qui fait le taf.

D’ici 2026 , les experts prédisent que le patch diffing assisté par IA sera la norme dans toutes les red teams et programmes de bug bounty. On parle même de plateformes de diffing en temps réel avec des bases de données de vulnérabilités crowdsourcées.

Voilà, donc si vous voulez vous lancer dans ce genre d’analyses comparatives de binaires, sachez que Diffrays est sur GitHub , et qu’il est prêt à transformer vos mercredis matins en séances de fouilles intensives. Et n’oubliez pas… avec un grand pouvoir vient une grande responsabilité ! Sinon, c’est la zonzon, comme pour Sarko !

  •