-1

可能的重复:
如何混淆我的 Perl 脚本以使其难以进行逆向工程?
Perl 代码有没有好的混淆器?

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

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

4

2 回答 2

2

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

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

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

 use Acme::Bleach;
于 2011-03-11T20:08:23.720 回答
-2

做到这一点的唯一方法是将其编译为机器代码,不幸的是,这对于 perl 是不可能的。 见编辑

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

编辑:看来我错了,请参阅将生成机器代码的 perl 编译器的注释。(应该和分发 C 程序一样安全)

于 2011-03-11T20:10:00.083 回答