Projects / Stunnix Perl-Obfus

Stunnix Perl-Obfus

Stunnix Perl-Obfus is a unique solution for protecting your valuable intellectual property from possible Perl source code piracy/studying/rework. It's an advanced and extremely reliable obfuscator for the Perl source code. It converts the Perl source files (.pl and .pm) into highly mangled and obfuscated forms, making them extremely difficult to study, analyse, reuse, or re-work for competitors or customers, while fully retaining functionality of the original source code. It's not a compiler to machine code, and the obfuscated form will still be the usual Perl source code, and so will work on all platforms the original source worked on.

Tags Internet Web Site Management Utilities Software Development Pre-processors Compilers
Licenses Other
Operating Systems OS Independent
Implementation Perl

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  13 Apr 2009 18:05
  • Rrelease-after

    Changes: This release adds support for Perl 5.8.8, 5.8.9 and 5.10.0. It has improved support for Perl formats. There are several improvements to Project Manager, including skins, Cygwin support, and better work on case-insensitive filesystems.

    • Rrelease-mid
    •  27 Feb 2008 13:10
    • Rrelease-after

    Changes: The Project Manager GUI has been made more beautiful.

    • Rrelease-mid
    •  13 Nov 2007 13:32
    • Rrelease-after

    Changes: The backtick operator is now handled correctly. The algorithm for generation of new symbol names has been improved: now they are more random. The Project Manager GUI has been greatly improved.

    • Rrelease-mid
    •  04 Jul 2006 13:24
    • Rrelease-after

    Changes: Improved handling of scripts with multi-byte characters in them. Improved support for some Perl constructs. A lot of improvements in the GUI. The documentation was improved.

    • Rrelease-mid
    •  17 Nov 2005 10:50
    • Rrelease-after

    Changes: This release adds the ability to specify the encoding of input files using the --input-encoding switch. It has workarounds for several bugs in standard Perl interpreters. The Project Manager GUI now allows you to switch encoding off or on globally for a project using a new menu item in the Project menu. A lot of useful obfuscation presets (switchable via Project->'Switch debugging/product profile') were added to the Project Manager GUI. The menu item Project->'Quit GUI' was added to the Project Manager GUI. The most recent version of Stunnix Perl Web Server is used for running the Project Manager GUI.

    Rss Recent comments

    Rcomment-before 19 May 2003 01:54 Rcomment-trans gvy Rcomment-after

    Re: How Lame Can You Get?

    > And there is a demand for Perl obfuscator - it's obvious.

    Hey pal, there's a demand for child porn. Go post a Other/Proprietary tarball here?

    This kind of thing really doesn't have it's moral place here.

    2 all: go to scoop and ask to remove it? (sorry stunnix)

    Rcomment-before 14 Apr 2003 07:31 Rcomment-trans pardus Rcomment-after

    Re: Compleet bogus

    # Entry Word: bogus

    # Function: adjective

    # Synonyms COUNTERFEIT, brummagem, fake, false,

    # phony, pinchbeck, pseudo, sham, snide, spurious

    # Related Word forged; imitation

    # Contrasted Words bona fide, good

    # Antonyms authentic, genuine, real

    Like in "bogus security" or "bogus protection". Yes, it is
    harder to read obfuscated code, but as long as it's perl it's easily reversed to a readable form.

    Obfuscation as practiced within the perl community has nothing to do with protecting source code.

    Rcomment-before 01 Apr 2003 21:24 Rcomment-trans nicc777 Rcomment-after

    Re: How Lame Can You Get?
    Classic :)

    Rcomment-before 25 Mar 2003 01:16 Rcomment-trans eterps Rcomment-after

    Re: How Lame Can You Get?
    % Also, there is a problem of guessing
    > that '$z5da4d3837d'
    > was '$files' before obfuscation, and not
    > '$slots' (or whatever).

    Okay, so you cannot know that '$z5da4d3837d' corresponds with '$files' after obfuscation. But the code is not really hard to read and understand when you use distinguishable dictionary words, there is already a Perl module for that:

    http://search.cpan.org/author/JJORE/B-Deobfuscate-0.03/lib/B/Deobfuscate.pm

    Rcomment-before 24 Mar 2003 20:48 Rcomment-trans nicc777 Rcomment-after

    You are missing the point ...
    Perl was never intended to be "un-readable". I can't think of a single line of Perl code I would ever want to "hide"/"obfuscate" from anybody.

    If you want to code closed source commercial apps - use C.

    Let's also consider some of the practical issues:

    * Debugging. If something goes wrong, I must _hope_ it's not the mangled code. There is no easy way to know for sure. Personally I would not trust this at all.

    * Version control. What meganism is there to tie the mangled code to an original source file? Also consider the line: "Unique! Means to make analysis of changes between different releases of the obfuscated product more difficult" ( source: http://www.stunnix.com/prod/perl-obfus.shtml ).

    * Easy to reverse. This has been commented on already. I have experimented a bit and it took about 30 minutes to solve the puzzle ( given your own example ). The only thing I haven't done was to give the function names a more interesting name, but then again - it's easy to add.

    * $879 !!! Are you serious? This is the best get-rich-quick-scheme I have ever seen. You can purchase commercial compilers for less then that.

    In a nutshell then - I think you people should grow up. I hope somebody that did indeed make the mistake of purchasing this junk take you to court - There must be some kind of law against this obvious attempt to make people belief stuff that just isn't true.

    To all prospective buyers out there - give this a miss.

    Cheers

    50ac94597acd2b20c8c4ae896c6eb454_thumb

    Project Spotlight

    PHP-Calendar

    A Web-based calendar written in PHP/SQL.

    No-screenshot

    Project Spotlight

    Alpine

    A simple text-based mail client.