शुरुआत

  • मैं Yamaha PSR-E433 सिंथेसाइज़र का लंबे समय तक मालिक था, और उसके अंदरूनी स्ट्रक्चर को समझने की जिज्ञासा में उसे खोल बैठा।
  • मुख्य सर्किट बोर्ड पर "YAMAHA SWL01U" चिप मिली, लेकिन ऑनलाइन इसकी कोई जानकारी खोज नहीं पाया।
  • कुछ महीनों बाद एक समान सिंथेसाइज़र का सर्विस मैनुअल मिला और चिप का pin description देख पाया।
  • JTAG टेस्ट पॉइंट और UART इंटरफेस के जरिए चिप से जानकारी निकालने की कोशिश की।

फर्मवेयर डंप

  • JTAG इंटरफेस से चिप का IDCODE पढ़ने की कोशिश की, लेकिन एक अनपेक्षित IDCODE मिला।
  • अनुमान लगाया कि इसमें ARM7TDMI कोर है, और OpenOCD से चिप के साथ कम्युनिकेशन करने की कोशिश की।
  • करंट में बदलाव देखकर ARM7TDMI कोर के साथ कम्युनिकेशन सफल होने की पुष्टि की।
  • फर्मवेयर डंप करके विश्लेषण शुरू किया।

फर्मवेयर रिवर्सिंग

  • Ghidra का इस्तेमाल करके फर्मवेयर रिवर्स करना शुरू किया।
  • फर्मवेयर की strings के जरिए सिस्टम की स्ट्रक्चर समझने की कोशिश की।
  • shell कमांड्स की सूची मिली और इसके जरिए सिस्टम कैसे चलता है, यह समझ में आया।

शेलकोड

  • MIDI संदेशों से सिंथेसाइज़र की मेमोरी तक पहुँचने का तरीका खोजा।
  • memory write command का उपयोग करके RAM में कोड inject और execute कर पाने की पुष्टि की।
  • "HeloWrld" स्ट्रिंग को LCD पर दिखाने वाला एक छोटा सा assembly code लिखा और रन किया।

Bad Apple

  • MIDI के जरिए सिंथेसाइज़र के LCD पर "Bad Apple" वीडियो दिखाने वाला प्रोजेक्ट बनाया।
  • MIDI संदेशों से सिंथेसाइज़र की आंतरिक मेमोरी तक पहुँचकर वीडियो आउटपुट किया।

लिंक

  • परियोजना की पूरी प्रक्रिया और संबंधित लिंक दिए गए।

यह परियोजना दिखाती है कि MIDI संदेशों के माध्यम से सिंथेसाइज़र की आंतरिक मेमोरी में प्रवेश करके अलग-अलग फीचर लागू किए जा सकते हैं। यह बताती है कि इस तरीके से सिंथेसाइज़र की संभावनाओं का बेहतर उपयोग करने की संभावना मौजूद है।

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.