如何获取gzip存档的尾随数据?

百事可乐

我有一个带有尾随数据的gzip存档。如果我用gzip -d解包,它会告诉我:“解压缩好,忽略了尾随垃圾”(同样gzip -t,可以用作检测是否有此类数据的方法)。

现在,我想了解这个垃圾,但奇怪的是,我找不到任何方法来提取它。gzip -l --verbose告诉我档案的“压缩”大小是文件的大小(即带有尾随数据),这是错误的,没有帮助。file也无济于事,那我该怎么办?

百事可乐

现在想出了如何获取尾随数据。

我创建了Perl脚本,该脚本使用尾随数据创建了一个文件,该脚本很大程度上基于https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=604617#10

#!/usr/bin/perl
use strict;
use warnings; 

use IO::Uncompress::Gunzip qw(:all);
use IO::File;

unshift(@ARGV, '-') unless -t STDIN;

my $input_file_name = shift;
my $output_file_name = shift;

if (! defined $input_file_name) {
  die <<END;
Usage:

  $0 ( GZIP_FILE | - ) [OUTPUT_FILE]

  ... | $0 [OUTPUT_FILE]

Extracts the trailing data of a gzip archive.
Outputs to stdout if no OUTPUT_FILE is given.
- as input file file causes it to read from stdin.

Examples:

  $0 archive.tgz trailing.bin

  cat archive.tgz | $0

END
}

my $in = new IO::File "<$input_file_name" or die "Couldn't open gzip file.\n";
gunzip $in => "/dev/null",
  TrailingData => my $trailing;
undef $in;

if (! defined $output_file_name) {
  print $trailing;
} else {
  open(my $fh, ">", $output_file_name) or die "Couldn't open output file.\n";
  print $fh $trailing;
  close $fh;
  print "Output file written.\n";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取gzip存档的尾随数据?

来自分类Dev

如何从HttpURLConnection获取gzip压缩数据的大小

来自分类Dev

如何从HttpURLConnection获取gzip压缩数据的大小

来自分类Dev

D:如何从存档中提取数据?

来自分类Dev

Java-如何获取输出以显示双精度尾随零?

来自分类Dev

如果使用Gzip类压缩,如何将文件名添加到存档?

来自分类Dev

如何仅删除数据帧中的尾随空白列?

来自分类Dev

Osisoft pi 数据存档 - 如何创建 piServer 集合

来自分类Dev

从CBZ存档获取图像

来自分类Dev

从zip存档中提取gzip文件

来自分类Dev

在Grails中存档数据

来自分类Dev

在Bash中获取尾随参数

来自分类Dev

如何获取发送gzip内容作为PHP响应

来自分类Dev

如何获取响应GZIP标头的JavaScript URL

来自分类Dev

如何获取最新版本的gzip?

来自分类Dev

如何单行获取数据

来自分类Dev

如何获取Sharepoint数据?

来自分类Dev

如何从tableAdapter获取数据

来自分类Dev

如何从串口获取数据?

来自分类Dev

如何从GridView获取数据

来自分类Dev

如何从网格获取数据

来自分类Dev

如何从HTML获取数据?

来自分类Dev

如何从Elasticsearch获取数据?

来自分类Dev

如何从Sitecore获取数据

来自分类Dev

如何获取视图数据

来自分类Dev

如何从Firebase获取数据?

来自分类Dev

¿如何获取ajax数据?

来自分类Dev

如何从ajax获取数据?

来自分类Dev

如何从 firebase 获取数据: