我有一个三星电视通过光纤输出连接到我的DTS音响系统。电视有ARM CPU和embedded式Linux操作系统。 它配有embedded式媒体播放器,但内部媒体播放器不会将DTSaudio传递到我的音响系统。 它只通过AC3和其他格式。 我想破解电视的固件,通过DTSaudio到我的音响系统。
什么是图书,学习资源等,开始这种爱好项目? 我从来没有在embedded式平台上编程。 在开始之前我应该知道什么? 例如,我应该知道audio编程,电子,Linux内核,C编程? 任何build议都会有所帮助。
实际上有一个与三星电视上的固件黑客攻击有关的专门的Sourceforge项目,名为SamyGO 。 但是当我问到这个网站的一个主要的固件黑客时,我没有收到他的回复。 所以我希望有人能回答我的问题。谢谢。
更新:
我对这种工作有多less电子知识? (我有一个CS学位和电子学,逻辑devise等基础知识)。 我应该成为一个Linux内核还是C专家?
其实我一直都在想像George Hotz这样的embedded式设备黑客如何获得这种知识。因为它是一个封闭的系统,他们没有任何文档,他们怎么能这样做呢? 他们是否从学校学习?(我不这么认为)。 如果他们这样做,他们学习什么? 他们使用哪些书籍? 如果他们不这样做,怎么样?
我在Linksys路由器的反向工程固件上遇到这个优秀的博客文章,
http://www.devttys0.com/2011/05/reverse-engineering-firmware-linksys-wag120n/
它详细解释了如何反向工程固件,以明确的步骤到达文件系统。 如果您可以按照步骤进行操作,那么您将很好地了解如何破解固件。
我不认为你需要大量的电子知识来破解固件,基本的101级知识就足够了。 如果您一般了解基本的操作系统和系统,那么您应该能够顺利完成任务。
黑客无证的系统是没有任何微不足道的任务。 你肯定应该学习C语言,并且练习嵌入式编程,而且对电子学的一个很好的了解会有很大的帮助(如果你在google上找不到任何文档,你将不得不看看电路如何工作)。 我的建议是:得到一些(记录在案的)ARM板开始黑客(想到beagleboard / pandaboard)。 如果你愿意的话,你将学到很多关于Linux,C,内核开发甚至电子学的知识。 试图直接在电视系统上潜水可能会让你非常沮丧。
更新:在电子方面,你不需要成为电子工程师。 学习大量数字电子技术,了解CPU,总线和通用外设的工作原理。 大多数情况下,您可以查看任何芯片代码并搜索数据表,但有时它们是专门为一个设备设计的,或者根本没有标识。 在这种情况下,你需要一个逻辑分析器来对其进行逆向工程,并试图理解如何“交谈”。 你可以从书本上学习CS和电子学,但真正的逆向工程只能通过经验来学习(当然,学习别人如何做事情会有很大的帮助)。 继续打开你感兴趣的设备,试着了解它们是如何工作的,并改变它。 你肯定会烧掉其中的一些(从更便宜的开始),但这是学习如何破解设备的最好方法。
只要小心不要让高压设备(而液晶电视有一些高压部分)
适合的开发板考虑,与非常活跃的社区,即容易得到帮助,如果你卡住:-)
开始与他们学习有关嵌入式系统,然后继续执行更困难的任务
是的,C语言知识很重要。
先尝试学习Raspberry Pi,然后跳入Adruino 。
你可以在脸书和谷歌加这些社区中找到这些社区,并加入并参与其中。
那么你可以学习这么多的黑客