Compression 逆向工程:如何识别未知的压缩方法?

Compression 逆向工程:如何识别未知的压缩方法?,compression,reverse-engineering,lzma,lzo,lzh,Compression,Reverse Engineering,Lzma,Lzo,Lzh,我和一群试图反向工程和改装蓝光播放器的改装者在一起。我们被卡住了,因为固件代码似乎被压缩了,而解压代码却找不到。据推测,解压是由硬件处理的 我的问题是,只有压缩输出,我们如何确定使用哪种类型的压缩算法?我们已经找到了一个重复的字符串,它可能对重复的数据进行编码 压缩的0x00字节从0x00 0x15开始,然后是重复序列(F8 06 FC 03 7E 01 BF 00 DF 80 6F C0 37 E0 1B F0 0D),并在末尾变化 我们的文档和工作在上面的线程中。固件二进制文件位于上面的线

我和一群试图反向工程和改装蓝光播放器的改装者在一起。我们被卡住了,因为固件代码似乎被压缩了,而解压代码却找不到。据推测,解压是由硬件处理的

我的问题是,只有压缩输出,我们如何确定使用哪种类型的压缩算法?我们已经找到了一个重复的字符串,它可能对重复的数据进行编码

压缩的0x00字节从0x00 0x15开始,然后是重复序列(F8 06 FC 03 7E 01 BF 00 DF 80 6F C0 37 E0 1B F0 0D),并在末尾变化


我们的文档和工作在上面的线程中。固件二进制文件位于上面的线程中。

我建议查看硬件,看看它是否支持任何本机加密或压缩方案。我注意到加密,因为这样的字符串也是可能的;例如,任天堂DS使用RSA加密,我认为这在某种程度上是在硬件层面上处理的,不过请不要引用我的话


简言之,查看硬件数据表(如果可用)将是您最好的做法。我假设如果你能拿到固件,你也可以查看硬件本身。

我知道这是一篇老文章,但这里有一个链接,指向用C编写的DS解压代码。如果你仍在努力的话,它可能是你在黑暗中的一个头灯


我对它没有太多经验,但您可以通过尝试分析功耗来进行旁道攻击。我的一个好朋友这样做是为了能够破解一些AES加密。也许这将引导您找到解决方案:


我怀疑,为这个问题提供有效的答案可能会违反DMCA或其他类似的版权保护法。只是说:)固件运行在哪个处理器上?