Vue lecture

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

Tray210 Proves Recycled Plastic Doesn’t Have to Look Grey and Boring

Recycled plastic products often fall into two camps: grey utilitarian bins or loud, speckled experiments that feel more like proof of concept than something you want on your desk. Tray210 recycled, a collaboration between Korean studio intenxiv and manufacturer INTOPS under the rmrp brand, takes a different approach, using recycled plastics and waste additives to create a tray that feels like a considered object first and an eco story second, treating material diversity as part of the design language.

Tray210 recycled is a circular tray with three compartments, an evolution of the original Tray210 form. It grew out of INTOPS’ grecipe eco-material platform and hida’s CMF proposals, which is a long way of saying it is the result of a tight loop between material science and industrial design. The goal was to pursue material diversity and break away from the cheap recycled stereotype, making something that belongs in sight rather than hidden under a desk.

Designer: Intenxiv x INTOPS

The form is intuitive, a 210 mm circle with a raised, ribbed bar running across the middle and two shallow wells on either side. The central groove is sized for pens, pencils, or chopsticks, and the ribs keep cylindrical objects from rolling away. The side compartments are open and shallow, perfect for earbuds, clips, rings, or keys. It is the kind of layout you understand at a glance without needing instructions or labels; just place your pen where the grooves are.

The material story is where Tray210 recycled gets interesting. Multiple recycled blends reflect their sources: Clam and Wood use 80 percent recycled PP with shell and wood waste, Charcoal adds 15 percent charcoal to 80 percent recycled PP, and Stone uses 10–50 percent recycled ABS. Transparent and Marble variants use recycled PC or PCABS with ceramic particles or marble-like pigment. Each colorway is visually tied to its waste stream, making the origin legible and intentional.

The aim is to create a design closer to the lifestyle rmrp pursues, breaking away from the impression recycled plastic generally gives. The Clam and Wood versions read as soft, muted pastels with fine speckling, Charcoal feels like a deep, almost architectural grey, and Stone and Transparent lean into translucency and particulate. Instead of hiding the recycled content, the CMF work uses it as texture and character, closer to terrazzo or stoneware than to injection-molded scrap that just happens to be grey.

The combination of clear zoning and tactile surfaces makes Tray210 recycled feel at home on a desk, entryway shelf, or bedside table. The central groove keeps your favorite pen or stylus always in the same place, while the side wells catch whatever tends to float around, from SD cards to jewelry. The different material stories let you pick a version that matches how you want the space to feel: calm, earthy, industrial, or a bit more playful.

A simple tray can carry a lot of design thinking, from intuitive ergonomics to material storytelling and responsible sourcing. Tray210 recycled is not trying to save the world on its own, but it does show how recycled plastic can be turned into something you actually want to touch and keep in sight. For people who care about both what an object does and what it is made from, that is a quiet but meaningful upgrade over another anonymous catch-all that eventually ends up in a drawer.

The post Tray210 Proves Recycled Plastic Doesn’t Have to Look Grey and Boring first appeared on Yanko Design.

Furnace - Le tracker qui transforme votre PC en console 8 bits musicale

Si vous avez grandi avec les bips et les blops des consoles 8 bits et que vous avez toujours rêvé de composer vos propres musiques façon NES, Game Boy ou Mega Drive, pas besoin d’investir dans un Ableton Live ou un FL Studio à whatmille boules car je vous ai trouvé un truc qui va vous permettre de composer de la musique 8 bit comme un chef !

Ça s’appelle Furnace et c’est un tracker de chiptune open source qui émule plus de 60 puces sonores différentes et vous fera peut-être regretter de pas avoir appris le solfège quand vous étiez plus jeune..

Alors pour ceux qui ne connaissent pas, un tracker c’est un logiciel de composition musicale où on empile des notes et des patterns les uns sur les autres, un peu comme dans les jeux de rythme (Guitar Hero ?), sauf que là c’est vous qui créez la musique. Et Furnace, c’est probablement le plus gros tracker multi-système jamais créé avec plus de 200 configurations prêtes à l’emploi dispo.

Le truc vraiment cool, c’est que ce logiciel utilise des cœurs d’émulation de qualité comme Nuked, MAME, SameBoy ou encore reSID pour reproduire fidèlement le son du hardware original. Donc que vous vouliez le son crunchy du Commodore 64, les nappes FM de la Mega Drive ou les samples de l’Amiga, tout y est émulé avec une précision quasi parfaite !

Côté puces supportées, y’a vraiment de quoi faire… La famille Yamaha FM au complet (YM2151, YM2612, YM2413, l’OPL3…), les puces Nintendo (NES, SNES, Game Boy), le mythique SID du C64, les puces d’arcade Neo Geo et CPS-1, et même des trucs plus exotiques comme l’Atari 2600 ou le Vectrex. En tout, le tracker gère jusqu’à 32 puces simultanées soit 128 canaux au total… De quoi composer une symphonie 8 bits de compétition.

L’interface est entièrement modulable et vous pouvez arranger les fenêtres comme bon vous semble. Y’a même un oscilloscope par canal avec centrage de la forme d’onde pour les perfectionnistes et si vous utilisiez DefleMask avant, bonne nouvelle puisque Furnace charge et sauvegarde les fichiers .dmf et .dmw donc vous pouvez migrer tranquillou.

Pour l’export, c’est pas mal non plus puisque vous pouvez sortir vos compos en WAV (par puce ou par canal), en VGM, en ZSM pour le Commander X16, et même directement en ROM Atari 2600 ou 400/800. Hé oui, vous pouvez littéralement mettre votre musique sur une vraie cartouche si ça vous éclate, les nerdzzzz.

Le projet tourne sous licence GPL, donc c’est gratuit et open source et il est dispo pour Windows, macOS (Intel et Apple Silicon), Linux et FreeBSD.

Voilà, si vous avez la fibre chiptune et que vous cherchez un outil complet pour composer de la musique rétro, foncez tester Furnace . Peut-être que ça vous permettra enfin de créer la bande son du jeu vidéo de vos rêves !!!

Telehack - Replongez dans l'Internet de 1985

Quand je revoie des films comme WarGames ou Hackers, je me rends compte que je suis un poil nostalgique de ces écrans noirs avec du texte vert, des modems qui crapotent, et de la magie des connexions longue distance sur des réseaux qui tenaient avec du scotch et des prières… Hé bien cool pour moi (et pour vous, si vous avez la même pathologie de moi) y’a un taré des Internet qui a recréé tout ça, et c’est jouable directement dans votre navigateur.

Ça s’appelle Telehack , et c’est une simulation complète de l’ARPANET et d’Usenet tels qu’ils existaient entre 1985 et 1990. Le site propose 26 600 hôtes virtuels, des milliers de fichiers d’époque, des jeux d’aventure textuels, un interpréteur BASIC fonctionnel et même des utilisateurs historiques reconstitués à partir de vraies archives. Le créateur, connu uniquement sous le pseudo “Forbin” (une ref au film “Le Cerveau d’acier” de 1970), a vraiment pondu un truc de dingue que vous devez tester absolument !

Le plus beau dans tout ça, c’est que vous pouvez vous y connecter comme à l’époque. En telnet sur les ports 13, 1337 ou 8080, en SSH sur le port 2222, et même… avec un vrai numéro de téléphone américain (+1 213 835-3422) accessible en modem analogique 14,4 kbps. Pour les nostalgiques du grésillement, c’est du bonheur.

Une fois connecté, vous vous retrouvez donc avec une invite de commande minimaliste. Tapez ensuite netstat pour voir la liste des hôtes accessibles, puis telnet pour vous connecter à un système distant, ou dial pour composer des numéros de téléphone virtuels comme un vrai phreaker des années 80. Y’a même des outils de hacking d’époque comme wardial.exe et porthack.exe pour progresser dans le jeu et débloquer de nouveaux systèmes.

Côté contenu, c’est également un vrain musée vivant. Toutes les archives Usenet intégrées proviennent de la collection d’Henry Spencer, un type de l’Université de Toronto qui a sauvegardé plus de 2 millions de messages entre 1981 et 1991 sur 141 bandes magnétiques récupérées de justesse avant d’aller à la poubelle.

Ces messages sont les plus anciens posts Usenet encore existants, et vous pouvez donc les lire directement dans Telehack. C’est pas ouf ça ?

Pour les amateurs de jeux, y’a Zork , Adventure et tout un tas de jeux en Z-code jouables directement. L’interpréteur BASIC inclus permet également d’exécuter des centaines de programmes historiques et si vous aimez Star Wars en ASCII , le film complet en animation texte est disponible.

D’ailleurs, la simulation au sein de Telehack va assez loin dans le réalisme puisque comme je vous le disais, les utilisateurs historiques sont reconstitués à partir de vraies archives UUCP de l’époque. Vous pouvez faire un finger @host sur n’importe quel système pour voir qui est “connecté”. Les mots de passe des systèmes sont volontairement faibles (secret, love, trustno1…) comme c’était le cas à l’époque et le côté hacking vous fera gagner des badges (HACK5, HACK10, HACKER) au fur et à mesure que vous compromettez des systèmes.

Telehack est passé à ce jour d’un petit projet en 2010 à une communauté de plus de 50 000 utilisateurs et vu la qualité du truc, c’est mérité. Pour ceux qui ont connu cette époque ou ceux qui veulent comprendre comment c’était avant le web, c’est une expérience unique, les amis !

Pour y accéder : telehack.com dans votre navigateur, ou telnet telehack.com si vous voulez faire les choses proprement. Enjoy !

This Square Player Refuses to Stream Music, and That’s the Point

Streaming services turned album covers into tiny squares you scroll past on your way to something else. Phones made music convenient, but also turned it into background noise competing with notifications, emails, and every app demanding attention at once. You used to hold a record sleeve and feel like you owned something specific. Now your entire library is just files in a folder somewhere, and nothing about that experience feels remotely special or worth paying attention to.

Sleevenote is musician Tom Vek’s attempt to give digital albums their own object again. It’s a square music player with a 4-inch screen that matches the shape of album artwork, designed to show covers, back sleeves, and booklet pages without any other interface getting in the way. The device only plays music you actually buy and download from places like Bandcamp, deliberately skipping Spotify and Apple Music to keep ownership separate from the endless scroll.

Designers: Tom Vek, Chris Hipgrave (Sleevenote)

The hardware is a black square that’s mostly screen from the front, with a thick body and rounded edges that make it feel more like a handheld picture frame than a phone. Physical playback buttons sit along one side so you can skip tracks without touching the screen. When you hold it, the weight and thickness are noticeable. This isn’t trying to slip into a pocket; it’s trying to sit on your desk or rest in your hand like a miniature album sleeve.

The screen shows high-resolution artwork, back covers, lyrics, and credits supplied through the Sleevenote platform. You swipe through booklet pages while listening, and the interface stays out of the way so the album art fills the entire square without overlays or buttons. The whole point is that the device becomes the album cover while music plays, which works better in practice than it sounds on paper when you describe it.

Sleevenote won’t let you stream anything. It encourages you to “audition” music on your phone and only put albums you truly love on the player, treating it more like a curated shelf than a jukebox with everything. This sounds good in theory, but means carrying a second device that can’t do anything except play the files you’ve already bought, which feels like a lot of friction for album art, no matter how nice the screen looks.

Sleevenote works as a small act of resistance against music as disposable content. For people who miss having a physical relationship with albums, a square player that only does one thing might feel like a shrine worth keeping. Whether that’s worth the price for a device with a screen barely bigger than your phone is a different question, but the idea that digital music deserves its own object makes more sense than cramming everything into the same distracted rectangle.

The post This Square Player Refuses to Stream Music, and That’s the Point first appeared on Yanko Design.

I Stopped Paying for Cloud Storage After Trying This Tiny 256GB iPhone SSD

I remember a time when smartphones had expandable storage. In fact, I remember feeling this internal rage when I saw the iPhone Air and that Apple even decided that a physical SIM slot wasn’t necessary anymore, because apparently a SIM tray blocks so much space that you need to shave down on a phone’s battery capacity. It’s wild that we’ve gotten to this point in our lives, and what’s more wild is that we now have to ‘rent’ storage out by paying for iCloud or Google Drive subscriptions to store our photos and videos. I remember when you could pop in a MicroSD card and those low-storage problems would go away… and ADAM Elements is trying to bring back that convenience with its ultra-tiny SSDs.

The iKlips S isn’t as small as a MicroSD, but it’s sufficiently more advanced than one. Barely the size of a 4-stud LEGO brick, this SSD plugs right into your smartphone, giving it an instant 256GB memory boost. It docks in your phone’s USB-C port, transferring data at incredible speeds, and here’s the best part – the tiny device packs biometric scanning too, which means you can pretty much secure your backups with a fingerprint the way you secure your phone with FaceID. The best part? No pesky subscription fees. You pay once and own the storage forever, and everything’s local and offline… so you never need to worry about remembering passwords, or about having companies and LLMs spy on your personal data to train themselves.

Designer: ADAM Elements

Click Here to Buy Now: $62.3 $89 (30% off, use coupon code “30YANKOIKPS”). Hurry, deal ends in 48-hours!

Think a thumb drive, but insanely tinier. That’s the beauty of SSDs, and ADAM Elements touts that the iKlips S currently holds the record for the world’s smallest SSD. Plug it into your phone, tablet, laptop, or any device and it instantly gets a 258GB bump. Data transfers at speeds of up to 400Mb/s with read speeds of 450Mb/s, that’s fast enough to move RAW files in milliseconds and entire 4K videos in seconds, or even directly preview/edit ProRes content on your phone, tablet, or laptop without having to transfer data to local storage. After all, that’s the dream, right?

The tiny device comes with a machined aluminum body and a lanyard hole so that you can string something through to prevent it from getting lost. Plug it into your phone to back up media, then into your laptop or iPad to edit said media. You can transfer data between multiple devices fairly quickly, across platforms too, thanks to cross-compatibility with iOS, Android, MacOS, Windows, ChromeOS, and even Linux. The tiny design sits practically flush against your phone, tablet, or laptop, occupying about the same amount of space as a USB receiver for a wireless keyboard or wireless mouse. Its most important design detail, however, hides in plain sight.

On the underside of the iKlips S is a fingerprint scanner, allowing you to add authentication to your SSD the way you add a password to your iCloud. The device can hold as many as 20 fingerprints, making it perfect for redundancies (just in case you cut a finger while chopping veggies) or even for a team of multiple people sharing data. Place your finger on the iKlips S and it unlocks the SSD, allowing you to read/write data in no time. You’re never faced with forgetting your iCloud password as your password literally lives on your fingertips.

The price of it all? A mere $62.3, which costs about as much as an annual subscription to these cloud storage services. For that, you get something you truly own, and can use without needing an app or an internet connection. Just plug it in and you’ve suddenly got extra storage. Secure the storage with a fingerprint, and move data around at speeds your internet service provider could only dream of. Neat, huh?

Click Here to Buy Now: $62.3 $89 (30% off, use coupon code “30YANKOIKPS”). Hurry, deal ends in 48-hours!

The post I Stopped Paying for Cloud Storage After Trying This Tiny 256GB iPhone SSD first appeared on Yanko Design.

Linus Torvalds - Le vibe coding c'est cool, mais pas pour du code critique

Linus Torvalds vient de donner son avis sur l’IA et le vibe coding et ça ne va pas plaire à tout le monde, ahahaha.

Hé oui car pendant que le monde tech se déchire entre les évangélistes de l’IA qui veulent tout automatiser et les énervés qui refusent l’IA par principe idéologique, Linus débarque dans le game avec un avis… de complet normie.

Lors de l’Open Source Summit à Séoul qui vient d’avoir lieu, Linus a partagé sa vision sur l’IA générative et le fameux “vibe coding”. Et son avis, c’est que l’IA c’est juste un outil de plus !

Ah putain, ça fait plaisir de lire ça ! ( Tout comme cet article d’ailleurs )

Le vibe coding, pour ceux qui débarquent, c’est ce terme inventé par Andrej Karpathy d’OpenAI qui consiste à décrire ce que vous voulez coder à un LLM. Ce dernière génère alors le code, et vous testez si ça marche ou si ça marche pas. Et ensuite vous demandez des ajustements et ainsi de suite !

Autant dire que c’est devenu un sujet chaud pour pleiiiins de raisons.

Bref, Linus se déclare “plutôt positif” sur le vibe coding mais uniquement comme point d’entrée en informatique. Pour des petits projets, des prototypes rapides…etc c’est top car ça permet à des gens qui ne savent pas coder de faire des trucs super ! Mais après pour du code critique en production, il est cash en expliquant que ça risque d’être “horrible, horrible d’un point de vue maintenance”. Et je ne peux pas lui donner tort.

Linus n’utilise pas personnellement d’IA pour coder mais il voit bien que des gens testent l’IA pour travailler sur du code critique dans le noyau Linux et ça il s’en méfie à raison car les mainteneurs du kernel se prennent régulièrement des bugs reports et des security notices complètement bidons générés par des gens qui utilisent mal les IA.

Les crawlers IA posent aussi des problèmes techniques sur kernel.org car ces bots qui aspirent tout le code pour nourrir leurs modèles font ramer les serveurs. Quoiqu’il en soit, Linus est plutôt modéré sur le sujet de l’IA générative pour coder et attend avec impatience le jour où l’IA sera un truc moins hype. En gros, qu’on arrête d’en parler H24 et qu’on l’utilise juste quand c’est pertinent…

C’est vrai que d’un côté, vous avez ces fifous pro-IA à toutes les sauces qui pensent qu’on va tous devenir des prompt engineers et que les devs vont disparaître (spoiler : non). Et de l’autre, les donneurs de leçons en pureté technologique qui refusent l’IA en bloc sans jamais se poser la moindre question.

Du coup, je vous avoue que je suis content de voir qu’au milieu de tout ce bordel, y’a ce bon vieux Linus qui nous explique que c’est juste un stupide outil et qu’il faut simplement apprendre à l’utiliser intelligemment.

Y’aura bien sûr des comiques qui vont dire que Linus s’est “radicalisé” car avoir un avis nuancé en 2025, c’est devenu extrémiste de ce que j’ai pu voir ces derniers jours, mais sachez que Linus a un peu de bagage historique. Il se souvient par exemple, comme je le disais en intro, du même genre de débats quand les compilateurs sont arrivés. A l’époque, y’avait les puristes du pissage de code qui hurlaient que ça allait tuer le métier de “programmeur” alors qu’au final, ça a juste augmenté la productivité, la sécurité et que ça a permis de faire des trucs plus complexes.

Voilà… l’IA, c’est TOUT PAREIL. Ça va changer la manière dont on code au quotidien, mais ça va pas remplacer les devs (pas tout de suite en tout cas). Ça va juste les rendre plus productifs comme n’importe quel nouvel outil dispo dans votre boite à outils.

Et pour les fans de vibe coding qui veulent quand même l’utiliser sérieusement, gardez en tête les limites du truc. N’oubliez pas que vous ne pouvez pas comprendre ce que le code fait si vous ne le passez pas en revue. Et vous ne pourrez pas le débugger proprement, le maintenir sur le long terme, ou encore le sécuriser si vous ne comprenez pas précisément ce qu’il fait. Donc forcez-vous un peu ;-) !

Merci Linus !

Source

iMessage Exporter - Pour faire un backup de vos conversations iMessage

Vous avez combien de messages iMessage sur votre Mac ?

10 000 ? 50 000 ? Plus ????

Vous en avez des amis, dites moi ! Et maintenant, petite question piège : Combien de ces messages pouvez-vous réellement exploiter en dehors de l’app Messages d’Apple ?

Hé bien la réponse va vous surprendre (non) : zéro !

Hé oui, car vos conversations sont stockées dans une base SQLite quelque part sur votre disque dur , mais Apple a fait en sorte que vous ne puissiez rien en faire. Les pièces jointes sont planqués dans des dossiers obscurs avec des noms aléatoires, les métadonnées sont éclatées sur une quinzaine de tables, et les timestamps sont au format Apple (pas Unix). Vous pouvez donc ouvrir la base avec DB Browser si vous voulez, mais vous allez juste pleurer du sang devant votre écran et perdre votre joie de vivre.

Et le plus beau dans tout ça c’est qu’Apple ne propose AUCUN moyen d’exporter vos messages. Y’a rien. Y’a des boutons d’export pour vos photos, pour vos mails, pour vos contacts, mais pour vos SMS et iMessages, c’est podzob !

Donc si vous voulez quitter l’écosystème Apple et migrer vers Android (mais qui fait ça ??? lol), bonne chance pour récupérer ces 10 ans de conversations torrides avec Monique de la compta. Et si vous avez besoin d’archiver des échanges professionnels pour raisons légales, à part faire des centaines de captures écran ou de copier coller, j’vois pas.

Heureusement, un dev nommé ReagentX en a eu marre de cette situation et a créé imessage-exporter, un outil open source en Rust qui fait exactement ce qu’Apple refuse de faire à savoir vous donner accès à VOS propres données dans un format lisible et portable.

L’outil tourne sur macOS évidemment, mais aussi sur Linux et Windows. Comme ça, même si vous avez viré votre Mac depuis 3 ans, vous pouvez quand même récupérer votre ancienne base iMessage et l’exporter tranquillement depuis votre machine Ubuntu ou Windows.

Et au niveau des formats d’export, vous avez le choix entre du txt et du html. Le format html est particulièrement bien foutu parce qu’il recrée l’interface visuelle d’iMessage avec vos bulles bleues et grises, les heures d’envoi, et surtout il préserve tous les médias : photos, vidéos, audios, tout y passe. Vous vous retrouvez avec un site html statique que vous pouvez ouvrir dans n’importe quel navigateur et parcourir comme si vous étiez dans l’app Messages, sauf que là c’est rien qu’à vous et personne peut vous le reprendre (sauf le karma ^^).

Pour l’install, si vous êtes à l’aise avec Rust, hop, un simple cargo install imessage-exporter fera l’affaire. Sinon y’a un package Homebrew (brew install imessage-exporter) ou des binaires précompilés sur la page du projet pour Mac Intel et Apple Silicon.

Notez qu’il vous faudra aussi installer ImageMagick et ffmpeg pour la conversion des pièces jointes, mais rien de sorcier. Ensuite, côté utilisation, c’est de la ligne de commande pure et dure. Par exemple, pour exporter toutes vos conversations en html avec les médias dans votre dossier personnel, vous tapez :

imessage-exporter -f html -c clone

Si vous voulez exporter uniquement les conversations avec un contact spécifique, vous pouvez filtrer par numéro de téléphone :

imessage-exporter -f html -c clone -t "0612345678"

Et si votre base iMessage est corrompue ou que vous soupçonnez des problèmes, l’outil intègre aussi une fonction diagnostic qui va scanner la base et vous remonter les anomalies.

Et l’outil gère iMessage, RCS, SMS, MMS, les conversations de groupe, les messages formatés, les threads de réponse, les messages édités, les traductions, les sondages, les votes, et même les arrière-plans de chat custom. C’est ouf ! Et ça c’est parce que ReagentX maintient ce projet depuis des années et suit les updates Apple en temps réel, ce qui n’est franchement pas une mince affaire vu qu’Apple change régulièrement le schéma de leur base.

Normal que ce projet cartonne !

Voilà si vous tenez un minimum à vos données, allez faire un tour sur le repo GitHub d’imessage-exporter … çaa prend 10 minutes à installer, et vous dormirez mieux en sachant que vos échanges et autres souvenir seront conservés bien au chaud sur votre prochain backup.

Et un grand merci à Lorenper de m’avoir signalé ce projet.

SimpMusic - L'app Android qui libère Youtube Music

Google a YouTube Music ave un budget illimité, des équipes entières de devs, des serveurs partout dans le monde… et pourtant une autre app Android open source fait mieux le job ! Cette app c’est SimpMusic et vous allez l’adorer !

Car oui, YouTube Music officiel , c’est bridé à mort. Y’a pas lecture possible en tâche de fond sans l’option premium, y’a des pubs et des trackers partout et pas de canvas comme sur Spotify (canvas, ce sont les petites vidéos qui tournent en boucle quand vous lisez une chanson). Bref, c’est pas ouf.

Du coup, le dev de SimpMusic a eu pour idée de balancer tout ce que YouTube Music officiel refuse de vous donner : De la lecture sans pub ET en tâche de fond (vous pouvez sortir de l’app et la musique continuera à jouer), de quoi vous balader dans les nouveaux podcasts et les tubes du moment et autres playlists et y’a même du cache offline et la possibilité de vous lancer dans la lecture de paroles synchronisées avec la musique. SimpMusic offre aussi un SponsorBlock intégré, et des fonctionnalités comme le retour des dislike, le support Android Auto, des suggestions et traduction IA, et un timer qui coupe tout au bout d’un moment si vous vous endormez en musique… Bref, que des bonnes idées !

Et tout cela est codé en Kotlin et utilise les API cachées de YouTube Music. C’est donc du bon gros reverse engineering pur et simple. D’où le côté beta de l’app qui peut parfois se comporter bizarrement. Mais si ça vous dit de tester, vous pouvez choper ça sur F-Droid, IzzyOnDroid, ou directement sur les releases GitHub. Évidemment, vous ne la trouverez pas sur le Play Store puisque Google n’aime pas ce genre d’app. Ils ont même banni Spotube de leur store officiel.

Quoiqu’il en soit, si un jour Google peut décider de couper les API “cachées” ou de bannir l’app, ça sera très facile pour eux. Comme d’hab, c’est un jeu du chat et de la souris entre les devs et le géant de la tech.

Merci à Lorenper de m’avoir signalé ce projet et chapeau à maxrave-dev pour avoir osé coder ce que Google refuse de donner.

TwoFace - Quand les sandbox deviennent inutiles

TwoFace est un outil développé par Synacktiv qui permet de créer des binaires Linux ayant 2 comportements bien distincts. Un comportement parfaitement inoffensif qui s’active dans 99% des cas et un comportement malveillant qui ne se déclenche que sur une machine ciblée spécifiquement pour l’occasion.

Comme ça, votre sandbox verra toujours la version “propre” parce qu’elle n’aura pas le bon UUID de partition.

D’après la doc de Synacktiv, voici comment ça fonctionne : Vous avez deux binaires en fait… Y’en a un qui est inoffensif et un autre malveillant. TwoFace les fusionne alors en un seul exécutable. Ainsi, au moment du build, le binaire malveillant est chiffré avec une clé dérivée depuis l’UUID des partitions disque de la machine cible. Cet UUID est unique, difficile à deviner, et stable dans le temps ce qui est parfait pour identifier une machine spécifique.

Ensuite au lancement, quand le binaire s’exécute, il extrait l’UUID du disque de la machine. Pour ce faire, il utilise HKDF (Hash-based Key Derivation Function) pour générer une clé de déchiffrement depuis cet UUID et tente de déchiffrer le binaire malveillant caché. Si le déchiffrement réussit (parce que l’UUID match), il exécute le binaire malveillant. Par contre, si ça échoue (parce que l’UUID ne correspond pas), il exécute le binaire inoffensif.

Le projet est écrit en Rust et c’est open source ! Et c’est une belle démo (PoC) d’un problème que tous ceux qui font de l’analyse de binaires ont. En effet, d’ordinaire, pour révéler le vrai comportement d’un malware on l’exécute dans une sandbox et on peut ainsi observer en toute sécurité ce qu’il fait, les fichiers qu’il crées, les connexions réseau qu’il établit etc…

Mais avec TwoFace ça casse cette façon de faire. Et c’est pareil pour les antivirus qui verront toujours la version inoffensive tant que l’UUID ne correspond pas.

Techniquement, TwoFace utilise memfd_create() pour exécuter le binaire déchiffré en mémoire, sans toucher au disque, ce qui veut dire zéro trace sur le système de fichiers. Le binaire malveillant apparaît directement en RAM, s’exécute, puis disparaît. Et si vous utilisez io_uring pour l’écriture mémoire, il n’y a même pas de trace syscall visible via strace.

Et ça, c’est la version basique car le document de Synacktiv mentionne également d’autres techniques avancées possibles comme du déchiffrement dynamique page par page du binaire ELF, des mécanismes anti-debugging, des chained loaders multi-niveaux…etc…

Le parallèle avec la backdoor XZ Utils backdoor est très instructif car celle-ci a failli compromettre des millions de serveurs Linux parce qu’un seul mainteneur a poussé du code malveillant dans une lib compressée. Elle a alors été découverte parce qu’un dev a remarqué un ralentissement SSH bizarre et a creusé… Et TwoFace montre qu’on peut faire encore pire sans toucher à la supply chain.

Pas besoin de corrompre un mainteneur de projet, de pousser un commit suspect chez Github. Là suffit d’écrire du code parfaitement propre, de le compilez avec TwoFace pour une machine spécifique, et de le déployez. Le code source sera alors auditable ainsi que le binaire mais l’audit ne révèlera rien parce qu’il se fera dans un environnement qui n’aura pas le bon UUID.

Après, techniquement, une défense existe. Vous pouvez par exemple détecter les appels à memfd_create(), monitorer les exécutions en mémoire, tracer les déchiffrements crypto à la volée…etc., mais ça demande du monitoring profond, avec un coût performance non-négligeable. Et ça suppose aussi que vous savez ce que vous cherchez…

Bref, si ça vous intéresse, c’est dispo sur GitHub !

❌