7

我想知道需要采取哪些步骤来“破解”相机的固件以添加/更改功能,特别是佳能或奥林巴斯制造的相机。

我可以理解这是一个涉及的主题,但我将不胜感激步骤的概要以及我应该注意的问题。

我认为第一步是获取固件,将其加载到反编译器中(有什么建议吗?)并检查内容。我承认我以前从未反编译过代码,所以这对我来说是一个很好的挑战,有什么建议吗?图书?教程?我应该期待什么?

一如既往地感谢堆栈!

注意:我知道 Magic Lantern 和 CHDK,我想获得有关它们是如何开始和形成的技术建议。

http://magiclantern.wikia.com/wiki/反编译

http://magiclantern.wikia.com/wiki/Struct_Guessing

http://magiclantern.wikia.com/wiki/Firmware_file

http://magiclantern.wikia.com/wiki/GUI_Events/550D

http://magiclantern.wikia.com/wiki/Register_Map/Brute_Force

4

1 回答 1

1

我想知道需要采取哪些步骤来“破解”相机的固件以添加/更改功能,特别是佳能或奥林巴斯制造的相机。

此黑客/逆向工程的一般步骤:

  1. 收集有关相机系统的信息(主 CPU、图像协处理器、RAM/闪存芯片......)。挑战:相机系统制造商倾向于隐藏此类敏感信息。此外,专有芯片的数据表/文档根本不会向公众发布。

  2. 获取固件:通过转储相机内部的闪存或从用于相机固件更新的更新包中提取固件。挑战:访问闪存的读出电路并非易事,尤其是相机系统拥有最密集的 PCB 之一。此外,专有固件在嵌入更新包时受到复杂加密算法的高度保护。

  3. 反汇编:从操作码固件中获得“一点”更具可读性的指令。挑战:尽管反汇编程序广泛可用,但它们会给您提供操作码之外的“可操作”等效汇编代码,但不能保证人类可读/有意义。

  4. 定制:在了解大部分代码功能后,您可以进行修改,而不会损害相机系统的正常运行。挑战:不是一件容易的事。

或者,我强烈建议您寻找已经开源的相机软件(也是硬件)。你可以学到很多关于相机系统的知识。此类项目有:ElphelAXIOM

于 2015-09-24T21:31:00.923 回答