标签: dll gzip file-format
好的,标题不是很清楚。
给定一个字节数组(从数据库blob读取),表示包含在.dll中的字节序列或表示该dll的gzip'd版本的字节序列,是否存在(相对)简单的签名我可以寻找区分这两者吗?
我试图自己解决这个问题,但我发现我可以通过寻求帮助来节省大量时间。提前谢谢。
答案 0 :(得分:0)
检查前两个字节是gzip幻数0x1f8b(参见RFC 1952)。或者只是尝试gunzip,如果DLL不是gzip,则操作将失败。
gzip
0x1f8b
gunzip
答案 1 :(得分:0)
gzip文件应该相当直接来确定,因为它应该包含页眉,页脚和其他一些可区分的元素。
来自Wikipedia:
“gzip”通常也用于指代 gzip文件格式,即: 一个包含魔法的10字节标题 号码,版本号和时间 邮票 可选的额外标题,例如 原始文件名 一个身体, 包含DEFLATE压缩 有效载荷 一个8字节的页脚,包含一个 CRC-32校验和和长度 原始未压缩数据
“gzip”通常也用于指代 gzip文件格式,即:
一个包含魔法的10字节标题 号码,版本号和时间 邮票
可选的额外标题,例如 原始文件名
一个身体, 包含DEFLATE压缩 有效载荷
一个8字节的页脚,包含一个 CRC-32校验和和长度 原始未压缩数据
您也可以尝试确定gzip是否包含任何记录/条目,因为每个记录/条目也都有自己的标题。
您可以找到有关此文件格式的特定信息(特别是链接的成员标题)here。