微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用非regexable版权胡椒可执行代码?

我正在寻找一个想法.一个想法,可以 – 在某种形式 – 允许我胡椒我的Perl代码与难以删除的版权评论到处,所以它几乎难以辨认,很难使用正则表达式删除代码仍然是可执行文件.

正如其中一位评论者在下面指出的那样,以下技巧可以应用于任何这样的常规技术:

perl -MO=Deparse obfuscated.pl > plaintext.pl

也许这里有人可以找到一个解决方法.

解决方法

我的贡献,易于解决,但可能绊倒一个邋code的代码窃取者:如果版权声明被篡改,则在代码中引入微妙的错误

例:

sub square_root {
    my $arg = shift;
    return sqrt($arg + 0.1 * apply_fudge_factor());
}

sub apply_fudge_factor {
    return 8410 != unpack("%32W*",($::D//=join'',<DATA>));
}

print "sqrt(9)=",square_root(9);

__END__
=head1 NAME

my_program.pl - a program by me,and not by you

=head1 AUTHOR

copyright (c) 2014 by Me

=cut

pod的校验和为8410.如果在__END__标记后进行任何更改,则程序的输出

sqrt(9)=3.01662062579967

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐