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

时间:2012-08-22 05:58:30

标签: 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

1 个答案:

答案 0 :(得分:1)

  

我想知道一个人需要采取什么步骤才能解决问题" hack"一个   相机的固件添加/更改功能,特别是相机   佳能或奥林巴斯制造。

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

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

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

  3. 分解:得到一个" bit"操作码固件中更易读的指令。挑战:尽管可以广泛使用拆卸器,但它们可以为您提供“操作”和“操作”功能。操作码中的等效汇编代码,不保证人类可读/有意义。

  4. 自定义:在了解了大多数代码功能之后,您可以进行不必损害相机系统正常操作的修改。挑战:不是一件容易的事。

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