R
rsdr
- Registriert
- 05.05.24
- Beiträge
- 11
- Reaktionen
- 1
- Punkte
- 18
Hallo,
bei surfen im Netz habe ich folgenden Beitrag entdeckt:
...der mich hierhin führte:
Eine Hardware-Hackerin aus Russland ("portasynthinca") hat sich ihr PSR-E433 vorgeknöpft. Wie viele andere Yamaha-Keyboards der Einstiegsklasse
(PSS-A50, PSS-F30, PSS-E30, SHS-300, PSR-F50, PSR-F51, PSR-F52, PSR-E253/YPT-255, PSR-E263/YPT-260, PSR-E273/YPT-270, PSR-E283/YPT-280) ist das Herzstück ein Chip namens YMW830 SWLL.
Über Jahre wurden Vermutungen angestellt, was sich dahinter verbergen könnte. Durch Debugging hat portasynthinca nun festgestellt: Es ist ein ARM7TDMI-basiertes System-on-Chip, welcher im PSR-E433 über 16 MB Flashspeicher gebietet. Diese 16 MB wurden durch Yamaha kaum geschützt. Sie konnte sie auslesen und weiter analysieren.
Dadurch kennt sie inzwischen die Art und Weise, wie der Flash-Speicher des E433 genutzt wird. Die Wavetable beginnt beispielsweise ab 10200 KB des Flash-Speichers. Das System ist offenbar Grundsätzlich darauf ausgelegt, dass das Keyboard seinen Flashspeicher überschreiben bzw. updaten kann.
Und es kommt noch besser: Yamaha hat bei dem Gerät eine versteckte interaktive Shell über MIDI-SysEx implementiert, welche offenbar auch nicht geschützt ist. D.h. PC fragt über MIDI-SysEx, Keyboard antwortet mit MIDI-SySEx... Man kann sich dann auf dem ARM7 des E433 einloggen und ihn sogar mit einem help-Commando fragen, welche Befehle (bzw. SySEx-Kommandos) möglich sind. Dabei bietet er durchaus interessante Varianten für Zugriffe auf Speicher und Stack...
portasynthinca hat das erlangte Wissen bisher zunächst für LCD-Spielereien genutzt. Sie hat "HeloWrld" sowie ein Grafikdemo auf dem LCD des E433 ausgegeben.
Ich stelle mir aber die Frage: wenn wir wissen, wo die Wavetable im Flash liegt, und auch wissen, wie wir via SysEx den Flash beschreiben können... Dann muss man doch nur noch herausfinden, 1) in welchem Format die Waves vorliegen und 2) wie diese genau im Flash abgelegt werden - und schon kann ein (gesampeltes) Boesendorfer Imperial Grand oder irgendwas vom DX7 auf dem E433 (un am Ende vielleicht sogar auf dem PSS A-50...
) Realität werden?!
Und wenn das Gerät bereits eine nach außen geführte MIDI-Schnittstelle hat, dann wäre das neu aufspielen von Userpatches am Ende auch kaum anders als z.B. beim Blofeld über eine angepasste MIDI-Datei mit Sysex...
bei surfen im Netz habe ich folgenden Beitrag entdeckt:
...der mich hierhin führte:
Eine Hardware-Hackerin aus Russland ("portasynthinca") hat sich ihr PSR-E433 vorgeknöpft. Wie viele andere Yamaha-Keyboards der Einstiegsklasse
(PSS-A50, PSS-F30, PSS-E30, SHS-300, PSR-F50, PSR-F51, PSR-F52, PSR-E253/YPT-255, PSR-E263/YPT-260, PSR-E273/YPT-270, PSR-E283/YPT-280) ist das Herzstück ein Chip namens YMW830 SWLL.
Über Jahre wurden Vermutungen angestellt, was sich dahinter verbergen könnte. Durch Debugging hat portasynthinca nun festgestellt: Es ist ein ARM7TDMI-basiertes System-on-Chip, welcher im PSR-E433 über 16 MB Flashspeicher gebietet. Diese 16 MB wurden durch Yamaha kaum geschützt. Sie konnte sie auslesen und weiter analysieren.
Dadurch kennt sie inzwischen die Art und Weise, wie der Flash-Speicher des E433 genutzt wird. Die Wavetable beginnt beispielsweise ab 10200 KB des Flash-Speichers. Das System ist offenbar Grundsätzlich darauf ausgelegt, dass das Keyboard seinen Flashspeicher überschreiben bzw. updaten kann.

Und es kommt noch besser: Yamaha hat bei dem Gerät eine versteckte interaktive Shell über MIDI-SysEx implementiert, welche offenbar auch nicht geschützt ist. D.h. PC fragt über MIDI-SysEx, Keyboard antwortet mit MIDI-SySEx... Man kann sich dann auf dem ARM7 des E433 einloggen und ihn sogar mit einem help-Commando fragen, welche Befehle (bzw. SySEx-Kommandos) möglich sind. Dabei bietet er durchaus interessante Varianten für Zugriffe auf Speicher und Stack...
portasynthinca hat das erlangte Wissen bisher zunächst für LCD-Spielereien genutzt. Sie hat "HeloWrld" sowie ein Grafikdemo auf dem LCD des E433 ausgegeben.

Ich stelle mir aber die Frage: wenn wir wissen, wo die Wavetable im Flash liegt, und auch wissen, wie wir via SysEx den Flash beschreiben können... Dann muss man doch nur noch herausfinden, 1) in welchem Format die Waves vorliegen und 2) wie diese genau im Flash abgelegt werden - und schon kann ein (gesampeltes) Boesendorfer Imperial Grand oder irgendwas vom DX7 auf dem E433 (un am Ende vielleicht sogar auf dem PSS A-50...

Und wenn das Gerät bereits eine nach außen geführte MIDI-Schnittstelle hat, dann wäre das neu aufspielen von Userpatches am Ende auch kaum anders als z.B. beim Blofeld über eine angepasste MIDI-Datei mit Sysex...