你如何破解/反编译Camera固件?(带反编译切线)

use*_*895 5 camera firmware

我想知道需要采取哪些措施来"破解"相机的固件来添加/更改功能,特别是佳能或奥林巴斯制造的相机.

我可以理解这是一个涉及的主题,但是我应该关注的步骤和我发布的一般概述将不胜感激.

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

谢谢堆栈一如既往!

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

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

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

Mal*_*lek 1

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

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

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

  2. 获取固件:通过转储相机内部Flash或从更新包中提取固件用于相机固件更新。挑战:访问闪光灯的读出电路并不是一项简单的工作,特别是考虑到相机系统具有人口最密集的 PCB 之一。此外,专有固件在嵌入更新包时受到复杂加密算法的高度保护。

  3. 反汇编:从操作码固件中获取“位”更易读的指令。挑战:尽管反汇编器广泛可用,但它们会从操作码中为您提供“可操作”的等效汇编代码,但不能保证人类可读/有意义。

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

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