/usr/share/perl5/PAR/Filter/Obfuscate.pm is in libpar-packer-perl 1.012-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | package PAR::Filter::Obfuscate;
use 5.006;
use strict;
use warnings;
use base 'PAR::Filter';
use File::Temp ();
=head1 NAME
PAR::Filter::Obfuscate - Obfuscating filter
=head1 SYNOPSIS
PAR::Filter::Obfuscate->apply(\$code); # transforms $code
=head1 DESCRIPTION
This filter uses L<B::Deobfuscate> (available separately from CPAN) to
turn the script into comment-free, architecture-independent Perl code
with mangled variable names.
=head1 CAVEATS
A harmless message will be displayed during C<pp>:
/tmp/8ycSoLaSI1 syntax OK
Please just ignore it. :-)
=cut
sub apply {
my $ref = $_[1];
my ($fh, $in_file) = File::Temp::tempfile();
print $fh $$ref;
close $fh;
require B::Deobfuscate;
$$ref = `$^X -MO=Deobfuscate $in_file`;
warn "Cannot transform $in_file$! ($?)\n" if $?;
}
1;
=head1 SEE ALSO
L<PAR::Filter>, L<B::Deobfuscate>, L<PAR::Filter::Crypto>
=head1 AUTHORS
Audrey Tang E<lt>cpan@audreyt.orgE<gt>
L<http://par.perl.org/> is the official PAR website. You can write
to the mailing list at E<lt>par@perl.orgE<gt>, or send an empty mail to
E<lt>par-subscribe@perl.orgE<gt> to participate in the discussion.
Please submit bug reports to E<lt>bug-par@rt.cpan.orgE<gt>.
=head1 COPYRIGHT
Copyright 2003-2009 by Audrey Tang E<lt>cpan@audreyt.orgE<gt>.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See L<http://www.perl.com/perl/misc/Artistic.html>
=cut
|