Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi,
I'm in a bit of a pickle, I have a Perl script that someone has compiled with perl2exe (to make a standalone package for use on Win32 machines, not hide anything).
The source seems lost along with any information about what the script actually does (going though a whole bunch of undocumented systems), I only found it by chance digging around for the origin of a file.
I have tried following link to a Bugtraq post by ta@domainbox but this doesn't seem to work for me. I've also tried the Deparse method posted by tachyon here, but get an error concerning an unrecognised character \x09, which indicates perl isn't accepting the code as it is a binary.
It dates from 2001 so I think this maybe before any actual encryption was used in perl2exe. Can anyone suggest another way to open this?
Thanks in advance.

Replies are listed 'Best First'.
Re: perl2exe hacking
by marto (Cardinal) on Oct 13, 2009 at 17:18 UTC

    This post may be of interest.

    Good luck :)

    Martin

Re: perl2exe hacking
by superfrink (Curate) on Oct 13, 2009 at 17:54 UTC
Re: perl2exe hacking
by cdarke (Prior) on Oct 13, 2009 at 16:45 UTC
    If there is no encryption then use a strings(1) tool to extract the script, or:
    open (my $fh, '<', $file) or die "Oops: $!"; while (<$fh>) { print "$1\n" if /([[:print:]]+)/ } close $fh;
Re: perl2exe hacking
by Anonymous Monk on Oct 18, 2009 at 00:24 UTC
    Contact perl2exe support
Re: perl2exe hacking
by spx2 (Deacon) on Oct 14, 2009 at 10:43 UTC
    use some tool like Win32dasm or IDA to get to the deadlisting(you should be able to see lots of scripts, maybe even useful comments that IDA makes) and if it's not encrypted maybe you can find some .DATA section in it that has the source or maybe you can proceed to actually figguring out what it does.