我和一群试图对蓝光播放器进行逆向工程和 retrofit 的 retrofit 者在一起。我们卡住了,因为固件代码似乎被压缩了,而解压代码却无处可寻。据推测,解压是由硬件处理的。
我的问题是,只有压缩输出,我们如何确定使用哪种类型的压缩算法?我们设法找到了一个重复的字符串,它大概是对重复数据进行编码的。
压缩后的 0x00 字节以 0x00 0x15 开始,然后是重复序列(F8 06 FC 03 7E 01 BF 00 DF 80 6F C0 37 E0 1B F0 0D),最后变化。
http://hej456.com/forum/viewtopic.php?t=832
我们的文档和工作都在上面的线程中。固件二进制文件位于上面的线程中。
最佳答案
我建议查看硬件,看看它是否支持任何 native 加密或压缩方案。我注意到加密,因为这样的字符串也是可能的;例如,Nintendo DS 使用 RSA 加密,我认为它在某种程度上是在硬件级别处理的,尽管不要引用我的话。
简而言之,查看硬件数据表(如果有)将是您最好的做法。我假设如果你能掌握固件,你也可以查看硬件本身。
关于compression - 逆向工程 : How do I identify an unknown compression method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/795300/