Posted on 2011-06-14 16:41
CrHackOS 阅读(445)
评论(0) 编辑 收藏 引用 所属分类:
技术随笔
多年前写的日志,其中的思路可能对汉化或者其他一些工作有借鉴作用,在这里再贴一遍。
如果包文件或图片里用了他们自己设计的压缩算法,想要回过去,但又不想分析他的程序,除了利用他算法里的一些简单的编码方式做伪压缩外,还可以使用替换压缩算法的方法。
一般来说,那些自己设计的压缩算法都是弱压缩(字典不大或考虑性能因素),我们可以使用一些现成的压缩算法来替换,只要保证压缩后的大小比他原来的大小小即可。这样做有一个好处就是不需要重新生成包文件了,只要在原来的文件位置上覆盖即可,不需要修改其他文件的偏移。
当然不是全部换成我们的算法了。只要在我们想要修改的文件数据块前加一个标志,然后 hook 了他的解码入口处,check 一下标志来决定使用那种解码即可,方便有效。至于压缩算法嘛可以使用 zlib,外挂一个 dll,也可以使用日本佬写的那几个 LZHUF/LZARI,都是相对的 call,可以直接植入 exe,虽然滑窗小了点效果还是不错的,压 3M 的高度图(24 位的灰度 BMP 文件)比 zlib 大了几十 K 而已。顺便补充一下,aPLib 也是很好的选择,只是小得有点让人受不了。