3

我正在尝试从可执行 (.exe) 文件中获取 Perl 脚本 (.pl)。.exe 文件最初是用 Perl 编码的,但没有保留 .pl 文件。有没有快速的方法来做到这一点?我正在为 Windows 使用草莓 Perl。

谢谢

4

3 回答 3

5

重命名.exe.zip检查是否可以提取文件

于 2013-07-05T21:36:55.423 回答
5

PAR 常见问题解答

如何从打包的可执行文件中提取我的脚本?

换句话说,“我做了一个 `pp foo.pl' 但我丢失了 foo.pl,我该如何找回它?”。

答案是只使用 unzip/winzip/winrar/whatever 来解压缩可执行文件,将其视为普通的 Zip 文件。您可能需要先将可执行文件重命名为 .zip 扩展名。

于 2013-07-05T21:31:13.953 回答
1

pp 依赖 PAR 来创建可执行文件。PAR 依赖于 Archive::Zip,因此在某种程度上,该文件包含用于创建可执行文件的 perl 脚本的压缩副本。

通常,这些程序将加载程序附加到 zip 存档的前面,该加载程序将文件解压缩到临时目录并调用指示为程序入口点的脚本。

我会尝试两件事:

  • 在所有典型的 Temp 目录(例如 \Users\Username\AppData\Local\Temp )中为包含您的脚本及其先决条件的目录提供根目录。

  • 尝试将 exe 解压缩为 zip,可能首先使用字节编辑器从程序的开头删除加载程序。

于 2013-07-05T21:32:47.213 回答