Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

Perl Obfuscation is more of a game, per se, but perhaps there is something that can be learned from it. I'm stating this, simply enough, because I have yet to uncover any basic guides to the obfuscation techniques and/or thought processes employed on this forum.

I'd like to understand them. I can understand everyone's "regular" code, perfectly well, but I'm lost when it comes to reading "ugly" Perl code, pretty much because my brain doesn't want to overcome the pain threshold. I can see how writing some sort of interpreter would help in writing these obfuscations, but then the interpreter source is pretty darn obscure too, so that doesn't appear to be the route most folks take.

My question is this...would anyone like to provide a basic guide or a few short examples on obfuscation techniques, or otherwise unravel (section by section) a few sample obfuscations, or take some normal basic Hello World code and show a few obfuscations being applied? Possibly with a few contrasting techniques? I'm not doing this to enter the "obfuscation contests" on Perl Monks, I just think there is some really interesting/bizarre thought processes going on, and it's a shame if the obfuscations are posted without details.

Again, obfuscations have no value in commercial programs, in major projects, or even throwaway scripts...but I feel that I'm missing something essential without some basic ability to grok the evil dark corners of the Perl. I want to go there. Take me to the dark corners....

Also, random (and insane) question -- why isn't there any Lisp obfuscation? It seems writing an entire program out of nothing but parenthesis all on one line would have some EXCELLENT chances at giving us a run for our money. Sure, it would be longer, but probably even harder to grok.


In reply to Learning from Obfuscation by flyingmoose

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others browsing the Monastery: (13)
    As of 2014-12-18 06:02 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      Is guessing a good strategy for surviving in the IT business?





      Results (43 votes), past polls