【发布时间】:2013-01-25 16:02:08
【问题描述】:
寻找一种使用密码解压缩档案的方法! 我将它用于没有通过的人:
use strict;
use warnings;
use Archive::Rar;
$archive = "test.rar";
$unrar = Archive::Rar->new(archive => "$archive");
$unrar->Extract ();
密码为“pass123”。 提前致谢!
【问题讨论】:
寻找一种使用密码解压缩档案的方法! 我将它用于没有通过的人:
use strict;
use warnings;
use Archive::Rar;
$archive = "test.rar";
$unrar = Archive::Rar->new(archive => "$archive");
$unrar->Extract ();
密码为“pass123”。 提前致谢!
【问题讨论】:
Archive::Rar 很薄,但对真正的二进制文件进行了复杂的包装,提供了非常狭窄的进程控制,同时在其中移动了大量无意义的数据。请考虑通过 Perl 的许多 IPC 工具手动调用 rar 二进制文件,或者如果您在 Windows 平台上使用 Archive::Unrar。
无论如何,因为这个模块的数据控制相当草率,如果你只想为 一次性任务 编写快速而肮脏的脚本,你可以通过注入标志来欺骗它在命令行中放入任何你想要的东西在文件列表中:
my $unrar = Archive::Rar->new(archive => $archive);
$unrar->{args}{-files} = ['.', '-ppass123'];
$unrar->Extract;
【讨论】: