您所在的位置:读书频道 > 安全 > 综合 > 7.2.2 如何识别Zlib编码

7.2.2 如何识别Zlib编码

2009-03-04 12:12 刘颖东 人民邮电出版社 字号:T | T
一键收藏,随时查看,分享好友!

《揭秘数据解密的关键技术》第7章神奇的数据压缩算法,本章介绍了压缩资源文件常用的压缩编码并总结了一些压缩编码的识别方法。本节为大家介绍如何识别Zlib编码。

AD:

7.2.2  如何识别Zlib编码

识别Zlib可以从程序和数据两方面分析。从程序上说Zlib有开源的静态库和动态库,如果游戏编程人员使用静态库嵌入游戏程序中,那么通常使用OllyICE可以在游戏主程序中搜索到类似如下的信息:

"1.2.3"
"ZDeflator::ZDeflator() : deflateInit() failed : %s",LF
"ZDeflator::deflate() : deflate() failed : %s",LF
"ZDeflator::Close() : deflate finish failed.",LF
"ZDeflator::Close() : deflateEnd() failed : %s",LF
"ZInflator::ZInflator() : inflateInit() failed : %s",LF
"ZInflator::inflate() : inflate() failed : %s",LF
"ZInflator::ReadLine() : read failed.",LF
"ZInflator::Close() : deflateEnd() failed : %s",LF
"deflate 1.2.3 Copyright 1995-2005 Jean-loup Gailly"

如果游戏编程人员使用动态链接库,那么游戏目录下通常会有"zlib.dll"文件。需要注意的是PNG图像也使用Zlib压缩数据,如果游戏使用了PNG图像,那么即使有上面列出的信息特征或"zlib.dll"也不代表游戏使用Zlib压缩资源文件,因为游戏可能只是读取PNG文件时使用Zlib解码而已。

从数据上说使用Zlib压缩的数据开头第一个字节是"x78",ASCII码是"x",例如下面3组使用Zlib压缩的文件数据:

 
虽然一个文件中的一个字节是0x78并不能证明数据使用了Zlib压缩,但对比和观察多个同类型的文件,如果发现同一类文件中相同结构的数据开头都是0x78,那么就可以确定数据使用了Zlib压缩。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

黑客入侵的主动防御
本书是一本非常全面地讲述黑客入侵主动防御技术的网络安全工具书。本书的重点是介绍黑客的攻击手段和提供相应的主动防御保护措施

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院