PAR::FAQ - Frequently Asked Questions about PAR |
PAR::FAQ - Frequently Asked Questions about PAR
This is the Frequently Asked Questions list for the Perl Archive Toolkit. You can edit this document at http://par.perl.org/ online.
Comment out the line that starts with unless (caller)
, and compile it again.
Note that this is considered a bug; clearing the caller stack is a development
in progress.
This is a common problem when building compiled libraries on Debian distribution installations with the default perl package. To fix this problem, create a symbolic link from libperl.so.5.6.1 to libperl.so in /usr/lib:
cd /usr/lib; ln -s libperl.so.5.6.1 libperl.so
and re-run the 'make' step of the installation.
Unlike Perl2EXE, which can use a standard 16-color bitmap as an application icon, PAR requires a true Windows icon file. Download a trial version of [Microangelo http://www.microangelo.us/ and use that to create your .ico file. The latest Netpbm tools at http://netpbm.sourceforge.net/ has ppmtowinicon, which can tack a pbm and convert it to a windows icon. It is open source and has win32 ports.
As pointed out by Alan Stewart, zip adds a directory entry for the new directory, and it causes the PAR executable to fail. Just use :
zip -r -D hello.par my_dir/
or the Archive::Zip::addTree as follows :
$zip->addTree( $root, $dest, sub { -f } )
Win32 (95/98/ME/NT4/2K/XP), FreeBSD, Linux, AIX, Solaris, Darwin and Cygwin.
The resulting executable will run on any platforms that supports the binary format of the generating platform.
In other words, ``I did a `pp foo.pl' and I lost foo.pl, how do I get it back?''.
The answer is to just use unzip/winzip/winrar/whatever to decompress the executable, treating it like a normal Zip file. You may need to rename the executable into a .zip extension first.
Not completely, but possible to a degree. Starting from version 0.76, PAR supports an input filter mechanism (see the PAR::Filter manpage), which can be used to implement source obfuscators (or even product activation schemes).
But if you are looking for 100% bulletproof way of hiding source code, it is not possible with any language. Learning Perl, 3rd Edition has this answer to offer (quoted with permission from RandalSchwartz):
If you're wishing for an opaque binary, though, we have to tell you that they don't exist. If someone can install and run your program, they can turn it back into source code. Granted, this won't necessarily be the same source that you started with, but it will be some kind of source code. The real way to keep your secret algorithm a secret is, alas, to apply the proper number of attorneys; they can write a license that says "you can do this with the code, but you can't do that. And if you break our rules, we've got the proper number of attorneys to ensure that you'll regret it."
PAR, the PAR::Tutorial manpage
Autrijus Tang <autrijus@autrijus.org>
http://par.perl.org/ is the official PAR website. You can write to the mailing list at <par@perl.org>, or send an empty mail to <par-subscribe@perl.org> to participate in the discussion.
Please submit bug reports to <bug-par@rt.cpan.org>.
Copyright 2003, 2004 by Autrijus Tang <autrijus@autrijus.org>.
This document is free documentation; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html
PAR::FAQ - Frequently Asked Questions about PAR |