日志文章

2008年01月11日 23:22:02

一个未知压缩算法还原的应对方法

   如果包文件或图片里用了他们自己设计的压缩算法,想要回过去,但又不想分析他的程序,除了利用他算法里的一些简单的编码方式做伪压缩外,还可以使用替换压缩算法的方法。
   一般来说,那些自己设计的压缩算法都是弱压缩(字典不大或考虑性能因素),我们可以使用一些现成的压缩算法来替换,只要保证压缩后的大小比他原来的大小小即可。这样做有一个好处就是不需要重新生成包文件了,只要在原来的文件位置上覆盖即可,不需要修改其他文件的偏移。
   当然不是全部换成我们的算法了。只要在我们想要修改的文件数据块前加一个标志,然后hook了他的解码入口处,check一下标志来决定使用那种解码即可,方便有效。至于压缩算法嘛可以使用zlib,外挂一个dll,也可以使用日本佬写的那几个LZHUF/LZARI,都是相对的call,可以直接植入exe,虽然滑窗小了点效果还是不错的,压3M的高度图(24位的灰度BMP文件)比zlib大了几十K而已。

Tags: 压缩编码还原  

类别: 其他 |  评论(0) |  浏览(4886) |  收藏
发表评论