逆向工程光盘固件

逆向工程 拆卸 固件 重新组装
2021-06-15 02:30:31

我正在尝试为基于 Mediatek 的 CD-ROM 编写程序,以不同的方式将信息写入 CD。我希望能够在有或没有 CD 的情况下控制激光。所以我的问题是,让固件重写从计算机接受的指令集的最佳方法是什么。我假设架构是ARM,但是您认为最好从公司网站上下载固件,然后将其放入反汇编器中尝试一下,或者有更好或不同的方法吗?我最后的手段是创建一个新的控制板,在其中可以控制电子设备。

谢谢,

西蒙

3个回答

Coastermelt 项目:开源固件,用于从 Micah Scott aka @scanlime 创造性地重新利用 BD-R 驱动器。

它包含 2 个非常有趣的视频:

Github 代码:https : //github.com/scanlime/coastermelt/

您称为“最后手段”的解决方案并不难。如果不需要精确控制激光的位置,有几点需要控制:

  1. 无刷电机旋转磁盘
  2. 步进电机移动激光器
  3. 激光二极管实际上可以燃烧一些东西

您甚至可以在没有太多焊接的情况下使用像 Arduino 这样的电路板来完成。

如果确实需要保存大部分 CD-ROM 功能,则需要重新安装固件。问题是,虽然微处理器的核心是 ARM,但它还包含许多您没有任何文档的外围模块。您或许可以推断出一些硬件寄存器,但总体而言,这项任务并不容易。JTAG 适配器连接到电路板以控制程序执行会很有用

通常是ARM MCU(两种不同的可能操作码,可以是Thumb)。您想要的信息通常不那么公开。Mediatek 似乎在其芯片中使用了一些 ARM 内核https://en.wikipedia.org/wiki/List_of_devices_using_Mediatek_SoCs你必须去探索。也许这项工作有助于https://media.blackhat.com/us-13/US-13-Zaddach-Workshop-on-Embedded-Devices-Security-and-Firmware-Reverse-Engineering-Slides.pdf