对ED3Movie数据压缩格式的修正

作者:leexuany(小宝) 

今天下午发表的《ED3Movie压缩格式分析》中有一个小错误,现在修正一下。控制四中所说的最后一字节的00并不是一点用处也没有,它的确是一个结束标志。

我们知道在ED3的压缩数据中并没有记录原始数据的大小,为了使解压程序在开始时就能确定应该分配多大的内存,压缩程序以0xFFF0为上限将数据分成多块,然后再压缩,最后以“数据块+剩余块数”的格式存储为一个文件。

以ED3_DT16.DAT中的数据块DT16_0000为例。如图:

前两字节为39B7,跳过39B7字节的数据后看到一字节02,02表示还剩下2块数据,接下来两字节为3883,再跳过3883字节的数据可以看到一字节01,01表示还剩下1块数据,接下来两字节139E,跳过139E数据后看到00,表示结束。

到这里ED3中Movie下的所有数据格式分析完毕。除了ED3_DT21.DAT是3张未压缩的BMP外,DT16到DT20都是用了这种压缩的。

最后放上DT16中分块压缩的背景图

 

你可能感兴趣的:(对ED3Movie数据压缩格式的修正)