Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierGénéralistes

Footywhoops – Un synthé codé en Go qui génère des patterns musicaux à la volée

Par : Korben
29 janvier 2026 à 09:21

Faire du bruit avec du code, c'est un peu le graal pour tout dev qui aime la musique. On connaît tous les gros trucs en C++ ou les frameworks spécialisés, mais voir débarquer un synthé complet codé en Go, c'est toujours une petite surprise qui se déguste sans modération.

Son nom : Footywhoops .

C'est un couteau suisse sonore que vous pilotez directement depuis votre terminal et qui permet de générer des séquences de batterie, des lignes de basse (un mode "Acid Bass" bien gras avec sub-oscillateur et enveloppes ADSR est de la partie), des arpèges et des mélodies. Le tout peut être calé sur différentes gammes musicales (majeure, mineure, dorienne, blues, etc.) pour éviter de finir avec une cacophonie insupportable. On est un peu dans l'esprit du live coding musical comme ce que propose Strudel ou Dittytoy , mais version ligne de commande.

Sous le capot, c'est du sérieux niveau DSP (Digital Signal Processing) puisqu'on y trouve une réverbération de type Schroeder pour donner de l'espace, plusieurs algorithmes de distorsion (Tanh, Atan, hard clipping) pour salir le signal, et un filtre passe-bas pour sculpter la tonalité. Et pour ceux qui se demanderaient quel est le meilleur langage pour la programmation audio, le C++ reste le roi pour la performance pure, mais Go s'en sort étonnamment bien ici grâce à sa gestion efficace de la concurrence (coucou les goroutines) et l'utilisation de PortAudio pour l'I/O audio. On a d'ailleurs vu d'autres outils sympas en Go récemment, comme SSHM qui utilise le framework Bubble Tea pour son interface terminal.

Le truc est super léger et s'installe en deux minutes si vous avez l'environnement Go prêt sur votre machine. Vous pouvez même enregistrer vos expérimentations directement en WAV (dry ou wet) sans avoir besoin de passer par une DAW (Digital Audio Workstation). D'ailleurs, si vous cherchez des ressources pour faire de la musique sous pingouin, n'hésitez pas à consulter ce catalogue audio pour Linux .

Et si vous avez envie de tester ce petit monstre, voici comment vous lancer.

Pour commencer, vous aurez besoin de Go 1.19 ou plus et des bibliothèques de développement de PortAudio sur votre système.

1. Installation des dépendances

Sur macOS :

brew install portaudio

Sur Ubuntu/Debian :

sudo apt-get install portaudio19-dev

2. Compilation du projet

Récupérez le code et compilez l'exécutable :

git clone https://github.com/system32-ai/footywhoops
cd footywhoops
go build

3. Exemples d'utilisation

Pour lancer une génération automatique de mélodie et de batterie (le mode "standalone") :

./footywhoops -mode synth

Si vous voulez utiliser Footywhoops comme un processeur d'effets (par exemple pour traiter le son de votre micro ou d'une guitare branchée sur votre interface) :

./footywhoops -mode fx -dist 0.8 -reverb 0.5

Vous pouvez évidemment jouer avec plein de paramètres en CLI pour ajuster le son (fréquence du filtre, type de distorsion, taille de la réverb, etc.). Pour voir toutes les options disponibles, un petit ./footywhoops -help et voilà, vous avez la liste complète.

Je pense que j'ai fait le tour... si vous aimez le mélange entre code et synthèse sonore, Footywhoops est un super terrain de jeu. C'est brut, c'est sale, et c'est expérimental mais ça permet de s'amuser un peu !

LibrePods - Le hack qui libère vos AirPods de la prison Apple

Par : Korben
18 décembre 2025 à 05:23

Vous avez des AirPods Pro que vous avez payés 300 balles et quand vous les branchez sur votre téléphone Android ou votre PC Linux, la moitié des fonctionnalités disparaissent. C'est pas parce que le matériel ne peut pas les faire mais juste parce qu'Apple a décidé que vous n'aviez pas le droit de les utiliser si vous n'êtes pas dans leur écosystème. Snif !

Et là, LibrePods débarque et règle ce problème. Ils s'agit d'un projet open source qui déverrouille toutes les fonctionnalités exclusives des AirPods sur les appareils non-Apple, et c'est compatible avec les AirPods Pro 2, AirPods Pro 3 (sauf le monitoring cardiaque), les AirPods 4, et même les AirPods Max en mode complet. Les autres modèles AirPods ont également un support basique (batterie et détection d'oreilles).

Mais alors qu'est-ce que vous récupérez avec LibrePods ?

Hé bien tout ce qu'Apple vous a vendu mais que vous ne pouviez pas utiliser ailleurs que sous iOS. Par exemple, le contrôle du bruit actif et la transparence adaptative, la détection d'oreille qui met en pause quand vous retirez un écouteur, les gestes de la tête pour répondre aux appels, le statut de batterie précis, les paramètres d'aide auditive complets, la connexion à deux appareils simultanés, et la reconnaissance de conversation qui baisse automatiquement le volume.

La dernière version (v0.2.0-alpha) a ajouté pas mal de trucs sympas comme la possibilité de voir la batterie de vos AirPods même quand ils ne sont pas connectés à votre téléphone, la connexion automatique quand vous recevez un appel ou lancez de la musique, et la personnalisation complète du mode transparence (amplification, balance, tonalité, réduction du bruit ambiant).

Techniquement, LibrePods fonctionne en utilisant un hook sur le Bluetooth Device Identification. Ce DID Bluetooth, c'est ce qui permet aux appareils de s'identifier entre eux et Apple utilise ce système pour vérifier si l'appareil connecté est un produit Apple. Si oui, les fonctionnalités se débloquent, si non, elles restent cachées. LibrePods se fait donc passer pour un appareil Apple à ce niveau, du coup, les AirPods croient qu'ils sont connectés à un iPhone ou un Mac. Et là, hop, tout se débloque ! Chouette non ?

Et c'est pas un hack compliqué... Ça consiste juste à enlever un filtre logiciel qu'Apple a mis volontairement pour vous forcer à rester dans leur écosystème.

LibrePods fonctionne sur Android et Linux. Notez que pour Android, vous devez avoir un appareil rooté avec Xposed installé à cause d'un bug dans la stack Bluetooth d'Android. Par contre, bonne nouvelle si vous êtes sur un OnePlus ou un Oppo avec ColorOS ou OxygenOS 16, vous pouvez utiliser l'app sans root pour les fonctions de base comme l'ANC, la reconnaissance de conversation et la détection d'oreilles !

Sur Linux, une nouvelle version est en développement actif et promet d'apporter encore plus de fonctionnalités mais en attendant, l'ancienne version permet déjà de contrôler les modes de bruit, les paramètres d'aide auditive, et d'autres fonctions.

D'autres applis existent pour gérer les AirPods sur Android comme CAPod, AirPodsDesktop, MagicPods, EarX mais elles ne proposent pas grand chose par rapport à LibrePods.

C'est vrai que l'Union Européenne force les fabricants à déverrouiller le firmware de certains appareils pour permettre la réparation et l'interopérabilité sauf que les écouteurs Bluetooth ne sont pas couverts par ces lois, ce qui fait qu'Apple peut continuer à brider des fonctionnalités matérielles avec du logiciel sans aucun problème légal.

LibrePods prouve donc qu'on n'a pas besoin d'attendre des lois. Faut juste des hackers qui en ont marre de se faire entuber et un peu de code !

Voilà, si vous avez des AirPods et que vous utilisez Android ou Linux, franchement, allez voir. Y'a tout sur le repo GitHub : le code source, les instructions d'installation, la doc technique...etc

Merci à Kiyoshi pour l'info !

Rooter une caméra de sécurité avec un MP3

Par : Korben
28 octobre 2025 à 12:27

L’histoire du jour est signée Luke M, un hacker qui a découvert comment rooter une caméra avec… du son !

L’appareil en question est une caméra chinoise de la marque Yi qui utilise une fonctionnalité appelée “Sonic Pairing” pour faciliter la configuration WiFi. Comme ça, au lieu de galérer à taper votre mot de passe WiFi sur une interface minuscule avec vos gros doigts boudinés, vous jouez simplement un petit son depuis votre téléphone et c’est ce son qui contient votre clé WiFi encodés en modulation de fréquence. La caméra écoute, décode, et se connecte.

Magique, non ?

Sauf que cette fonctionnalité marquée en “beta” dans l’app Yi IoT contient deux bugs magnifiques : une stack overflow local et un global overflow. En gros, en fabriquant un fichier audio malveillant avec les bons patterns, Luke a pu injecter du code arbitraire dans la caméra, ce qui lui permet d’obtenir un shell root qui se lance via la commande telnetd avec les identifiants par défaut. Tout ça, sans accès physique… juste la lecture d’un wav ou d’un MP3.

Pour arriver à ses fins, Luke a utilisé Frida , un framework de hooking que j’adore, capable d’intercepter les fonctions natives de l’app. Cela lui a permis de remplacer les données légitimes attendues par l’app par son propre payload.

Le premier bug (stack overflow) n’étant pas suffisant seul, Luke a dû utiliser un autre bug ( un out-of-bounds read via DOOM ) pour leaker un pointeur et contourner l’ ASLR . Mais le second bug (global overflow) est bien plus intéressant puisqu’il lui permet directement de faire une injection de commande via system() lors du pairing, sans avoir besoin d’autre chose.

Voici la waveform utilisée par le second exploit

Et comme la chaîne que vous pouvez envoyer via le son peut faire jusqu’à 128 bytes c’est largement suffisant pour un telnetd ou n’importe quelle commande shell. Notez que pour que l’exploit marche, le bind_key doit commencer par ‘CN’, ce qui force un path exploitable et, en bonus fait causer la caméra en chinois ^^.

Après faut savoir que ce hack amusant ne fonctionne que si la caméra n’est pas encore connectée au cloud. Donc c’est pas très utile pour attaquer des caméras déjà déployées mais ça illustre bien le problème de tout cet IoT pas cher avec des tas de features “pratiques” comme ce “Sonic Pairing” qui finissent par être catastrophique dans la pratique.

Voilà… si vous voulez les détails techniques complets avec les waveforms et le code d’exploit, foncez lire ça sur Paged Out! #7 .

Toutui - Écoutez vos livres audio et podcasts depuis votre terminal

Par : Korben
16 avril 2025 à 07:56

Si vous passez vos journées, le nez dans un terminal, ce serait-y pas trop cool de pouvoir également y écouter vos livres audio et vos podcasts ?

On évite ainsi les interfaces flashy, les notifs et autres animations inutiles et on se concentre sur l’essentiel, à savoir la simplicité monacale du terminal. Bref, si vous êtes de ceux qui pensent qu’une journée sans taper une commande est une journée perdue, il faut que je vous présente Toutui !

❌
❌