与gzip文件相比,DLL文件

时间:2011-03-24 13:54:20

标签: dll gzip file-format

好的,标题不是很清楚。

给定一个字节数组(从数据库blob读取),表示包含在.dll中的字节序列或表示该dll的gzip'd版本的字节序列,是否存在(相对)简单的签名我可以寻找区分这两者吗?

我试图自己解决这个问题,但我发现我可以通过寻求帮助来节省大量时间。提前谢谢。

2 个答案:

答案 0 :(得分:0)

检查前两个字节是gzip幻数0x1f8b(参见RFC 1952)。或者只是尝试gunzip,如果DLL不是gzip,则操作将失败。

答案 1 :(得分:0)

gzip文件应该相当直接来确定,因为它应该包含页眉,页脚和其他一些可区分的元素。

来自Wikipedia

  

“gzip”通常也用于指代   gzip文件格式,即:

     
      
  • 一个包含魔法的10字节标题   号码,版本号和时间   邮票

  •   
  • 可选的额外标题,例如   原始文件名

  •   
  • 一个身体,   包含DEFLATE压缩   有效载荷

  •   
  • 一个8字节的页脚,包含一个   CRC-32校验和和长度   原始未压缩数据

  •   

您也可以尝试确定gzip是否包含任何记录/条目,因为每个记录/条目也都有自己的标题。

您可以找到有关此文件格式的特定信息(特别是链接的成员标题)here