3 điểm bởi GN⁺ 2025-01-06 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Bắt đầu

  • Tôi đã sở hữu synthesizer Yamaha PSR-E433 trong một thời gian dài và do tò mò về cấu trúc nội bộ nên đã tháo rời nó.
  • Trên bo mạch chính, tôi phát hiện chip "YAMAHA SWL01U" nhưng không thể tìm thấy thông tin liên quan trên Internet.
  • Vài tháng sau, tôi đã tìm thấy tài liệu dịch vụ của một chiếc synthesizer tương tự và xác nhận được mô tả chân của chip.
  • Tôi đã cố gắng lấy thông tin chip thông qua các điểm kiểm tra JTAG và giao diện UART.

Trích xuất firmware

  • Tôi đã cố gắng đọc mã IDCODE của chip qua giao diện JTAG, nhưng lại nhận được một IDCODE không như mong đợi.
  • Tôi ước đoán đây là lõi ARM7TDMI và thử giao tiếp với chip bằng OpenOCD.
  • Tôi xác nhận rằng giao tiếp với lõi ARM7TDMI thành công bằng cách theo dõi sự thay đổi dòng điện.
  • Tôi đã dump firmware và bắt đầu phân tích.

Phân tích ngược firmware

  • Tôi bắt đầu phân tích ngược firmware bằng Ghidra.
  • Tôi cố gắng hiểu cấu trúc của hệ thống thông qua các chuỗi trong firmware.
  • Tôi phát hiện danh sách lệnh shell và từ đó hiểu được cách thức hoạt động của hệ thống.

Shellcode

  • Tôi phát hiện một cách để truy cập bộ nhớ của tổng hợp thông qua thông điệp MIDI.
  • Tôi xác nhận rằng có thể chèn mã vào RAM bằng lệnh ghi bộ nhớ và thực thi mã đó.
  • Tôi đã viết và chạy một đoạn mã assembly đơn giản để in chuỗi "HeloWrld" lên màn hình LCD.

Bad Apple

  • Tôi thực hiện một dự án hiển thị video "Bad Apple" trên màn hình LCD của tổng hợp thông qua MIDI.
  • Bằng cách truy cập bộ nhớ nội bộ của tổng hợp qua thông điệp MIDI, tôi đưa video này lên màn hình.

Liên kết

  • Dự án cung cấp các liên kết liên quan đến toàn bộ quá trình.

Dự án này cho thấy việc truy cập bộ nhớ nội bộ của tổng hợp thông qua thông điệp MIDI cho phép thực thi nhiều chức năng khác nhau, mở ra khả năng khai thác tối đa tiềm năng của tổng hợp.

Chưa có bình luận nào.

Chưa có bình luận nào.