【问题标题】:Is there a way to take Perl code and "secure" it? [duplicate]有没有办法获取 Perl 代码并“保护”它? [复制]
【发布时间】:2011-03-11 20:05:18
【问题描述】:

可能的重复:
How can I obfuscate my Perl script to make it difficult to reverse engineer?
Is there a good obfuscater for Perl code?

有一些我想转售的 Perl 代码,但不希望这些代码可见,只是可执行。

有没有办法“保护”代码,如果有,这样做的要求是什么,与逆向工程的难易程度相关的风险以及对运行时的可能影响。

【问题讨论】:

标签: perl obfuscation reverse-engineering code-access-security


【解决方案1】:

没有万无一失的方法。坚定的攻击者总能找到某个版本的源代码。

也就是说,Acme::Bleach 让它变得更加困难。

第一次运行使用 Acme::Bleach 的程序时,该模块会从源文件中删除所有难看的可打印字符。代码继续像以前一样工作,但现在看起来像这样:

 use Acme::Bleach;

【讨论】:

  • 我应该指出,任何模糊的来源都容易受到 perltidy 或 Deparse 的影响。
  • Acme::Bleach 将阻止坚定的攻击者大约十分钟。
  • unbleach.pl 可以在 PerlMonks 上找到。
【解决方案2】:

唯一的办法就是把它编译成机器码,不幸的是这对 perl 来说是不可能的。 见编辑

您可以交替地对代码进行混淆以保护它,尽管对代码进行去混淆并不难。查看http://www.stunnix.com/prod/po/overview.shtml 或谷歌“perl 代码混淆器”,了解有关隐藏代码的更多信息。

编辑:看来我错了,请参阅 cmets for perl compilers that will make machine code。 (应该和分发 C 程序一样安全)

【讨论】:

  • 当然你可以把 Perl 编译成二进制。有可用的 Perl 编译器。
  • 有 perl 编译器,例如B::C.
  • 哦,原来如此,我完全不知道。
猜你喜欢
  • 1970-01-01
  • 2020-12-07
  • 2017-06-16
  • 2020-12-10
  • 2011-05-13
  • 1970-01-01
  • 1970-01-01
  • 2020-04-02
  • 1970-01-01
相关资源
最近更新 更多