解析使用 Filter::Crypto::Encrypt 加密的 Perl 时遇到问题

逆向工程 解密
2021-06-20 12:27:08

我正在尝试perl -MO=Deparse从加密的 Perl 文件中获取可读的源代码。

我试图解析的 Perl 脚本以use Filter::Crypto::Decrypt;.

我得到的错误是:

Can't run with Perl compiler backend at /System/Library/Perl/5.18/XSLoader.pm line 95. 
BEGIN failed--compilation aborted at /Library/Perl/5.18/darwin-thread-multi-2level/Filter/Crypto/Decrypt.pm line 37.

阅读此网页时,它说:

无法使用 Perl 编译器后端运行
(F) 加密的 Perl 文件正在由启用了 Perl 编译器后端的 perl 运行,例如 perl -MO=Deparse 文件。这是不允许的,因为它可能有助于检索原始未加密的源代码。

如果我理解正确,那么这是一种安全措施,可以防止人们完全按照我的意愿行事。正确的?有什么办法可以覆盖这个吗?

1个回答

由于这是一种预期的预防措施,并且此错误消息背后没有技术限制,因此只需修补perl可执行文件中的显式检查就足够容易了然后,您可以拥有自己的 perl 版本,它允许对 perl 程序进行解密并公开原始源代码。