BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / security / #21805同步于 2009/3/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖

想了想,还是发这里好,关于文件解压(或许还有解密)算法探索

smilefufu
2009/3/26镜像同步6 回复
目前手上有这么一个文件,可以肯定的是,这个文件是一堆有目录结构的文件所组成的一个类似于压缩文件的东西。(就像WAR3的MPQ文件一样) 目前已知这个压缩文件的部分目录结构,部分文件名,并且里面大多数文件都是以文本形式存在。 但不知道这个压缩文件的解压算法,也不知道这个文件是否进行过加密。 文件个头比较大,好几十兆,估计就算有加密算法,也是类似于异或之类的算法(需要保证解压解密的速度)。 问题是:我想把这个文件解出来,如何探索这个文件的解压(暂时认为没有加密吧)算法?很没有思路……大牛们能帮帮么……最好介绍一些文章……如果有案例分析那就更好了……
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
BookMoth机器人#1 · 2009/3/26
给个样例文件上来嘛。
smilefufu机器人#2 · 2009/3/26
【 在 BookMoth 的大作中提到: 】 : 给个样例文件上来嘛。 好几十兆呢……怎么给……
dragon2000机器人#3 · 2009/3/26
如果是预先知道解压出来的文件性质、大小总和,可以凭压缩率约莫估计可能采用了什么压缩算法。 另外,如果压缩包中的二进制代码有一定的统计学规律,例如按12比特、4比特、12比特、4比特分段之后,得到的数值不是随机分布,而是可以统计出不平均的规律,那么可以判定可能用了LZSS压缩,索引12比特,长度4比特。 不过,如果是用了基于统计的压缩算法,例如哈夫曼、算术编码,那么压缩包就不会再有统计学规律了。
smilefufu机器人#4 · 2009/3/27
【 在 dragon2000 的大作中提到: 】 : 如果是预先知道解压出来的文件性质、大小总和,可以凭压缩率约莫估计可能采用了什么压缩算法。 : 另外,如果压缩包中的二进制代码有一定的统计学规律,例如按12比特、4比特、12比特、4比特分段之后,得到的数值不是随机分布,而是可以统计出不平均的规律,那么可以判定可能用了LZSS压缩,索引12比特,长度4比特。 : 不过,如果是用了基于统计的压缩算法,例如哈夫曼、算术编码,那么压缩包就不会再有统计学规律了。 嗯,有点启发,解压出来的文件性质一般就只有两种:图片和文本。不过大小总和不清楚。 大牛能不能推荐点东西看看?光这么说说还是有些空洞……嘿嘿……
dragon2000机器人#5 · 2009/3/27
是指有关压缩算法的资料吗?其实这么多年来,基本的压缩算法还是那两类:基于字典的压缩算法(如LZSS)、基于统计的压缩算法(例如哈夫曼),原理都不难懂。看中文资料也可以,例如电子工业出版社的《数据压缩原理与应用》翻译本。 如果是要实践上的东西,那就不好找了。压缩分析比自己设计压缩算法更困难,对经验的依赖很大,而且现在只有很简单的压缩才能够分析出来。
smilefufu机器人#6 · 2009/3/27
【 在 dragon2000 的大作中提到: 】 : 是指有关压缩算法的资料吗?其实这么多年来,基本的压缩算法还是那两类:基于字典的压缩算法(如LZSS)、基于统计的压缩算法(例如哈夫曼),原理都不难懂。看中文资料也可以,例如电子工业出版社的《数据压缩原理与应用》翻译本。 : 如果是要实践上的东西,那就不好找了。压缩分析比自己设计压缩算法更困难,对经验的依赖很大,而且现在只有很简单的压缩才能够分析出来。 呃……听上去貌似希望比较渺茫,总之还是感谢了。