3 points par GN⁺ 2025-01-06 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Introduction

  • J’ai possédé un synthétiseur Yamaha PSR-E433 pendant longtemps et, par curiosité pour sa structure interne, je l’ai démonté.
  • J’ai découvert une puce « YAMAHA SWL01U » sur la carte principale, mais je n’ai trouvé aucune information à son sujet en ligne.
  • Quelques mois plus tard, j’ai trouvé le manuel de service d’un synthétiseur similaire et j’ai vérifié la description des broches de la puce.
  • J’ai essayé d’obtenir des informations sur la puce via les points de test JTAG et l’interface UART.

Dump du firmware

  • J’ai essayé de lire l’IDCODE de la puce via l’interface JTAG, mais j’ai obtenu un IDCODE inattendu.
  • En supposant qu’il s’agissait d’un noyau ARM7TDMI, j’ai tenté de communiquer avec la puce à l’aide d’OpenOCD.
  • Une variation du courant a confirmé que la communication avec le noyau ARM7TDMI avait réussi.
  • J’ai dumpé le firmware pour commencer l’analyse.

Reverse engineering du firmware

  • J’ai commencé à faire du reverse engineering du firmware avec Ghidra.
  • J’ai tenté de comprendre l’architecture du système via les chaînes du firmware.
  • J’ai découvert une liste de commandes shell, ce qui m’a permis de comprendre le fonctionnement du système.

Shellcode

  • J’ai découvert une manière d’accéder à la mémoire du synthétiseur via des messages MIDI.
  • J’ai confirmé qu’il était possible d’injecter du code dans la RAM et de l’exécuter à l’aide d’une commande d’écriture mémoire.
  • J’ai écrit et exécuté un petit code assembleur affichant la chaîne « HeloWrld » sur l’écran LCD.

Bad Apple

  • J’ai mené un projet d’affichage de la vidéo « Bad Apple » sur l’écran LCD du synthétiseur via MIDI.
  • J’ai accès à la mémoire interne du synthétiseur via des messages MIDI et affiché la vidéo de cette façon.

Liens

  • J’ai fourni des liens liés à l’ensemble du processus du projet.

Ce projet montre qu’en accédant à la mémoire interne du synthétiseur via des messages MIDI, il est possible d’implémenter diverses fonctionnalités. Il démontre ainsi la possibilité d’exploiter pleinement le potentiel du synthétiseur.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.