शुरुआत
- मैं 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 संदेशों के माध्यम से सिंथेसाइज़र की आंतरिक मेमोरी में प्रवेश करके अलग-अलग फीचर लागू किए जा सकते हैं। यह बताती है कि इस तरीके से सिंथेसाइज़र की संभावनाओं का बेहतर उपयोग करने की संभावना मौजूद है।
अभी कोई टिप्पणी नहीं है.