Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Learning from Obfuscation

by hardburn (Abbot)
on Jan 23, 2004 at 16:22 UTC ( #323591=note: print w/ replies, xml ) Need Help??


in reply to Learning from Obfuscation

Pretty much by definition, Obfu is free-form and lacks any set, rational design. Though there is certainly an underlieing thought processes, it likely varies widely from programmer to programmer, and each person may not be conciously aware of it.

As for obfu LISP, I'd be surprised if there wasn't such a beast. There may not be actual obfu contests like there are for Perl and C, but I'm sure somebody has tried making obfu LISP on purpose. Frell, I've made some lines of obfu Java back when I was programming that language a lot. If it can be done in Java, it can be done anywhere.

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

: () { :|:& };:

Note: All code is untested, unless otherwise stated


Comment on Re: Learning from Obfuscation
Download Code
Re: Re: Learning from Obfuscation
by flyingmoose (Priest) on Jan 23, 2004 at 17:23 UTC
    Any Java app over a couple hundred files is automatically obfuscated, that's just the way the language works (over encouraging inheritance hierachies when they don't make sense, way too many objects, non-data-driven constructs,"thick" connections and inflexible interfaces, lots of object-interdependancies, etc). The Java API is assuredly an obfuscation masterwork! It's Politically Correct Sphagetti (sp) coding and it's well loved by bad coders everywhere! Yes, in Java, bad coders can keep their jobs!

    Postulated: Any sufficiently large java program is indistinguishable from Chaucer's Canterbury Tales

    I may have to start the obfu-Lisp competition now. Lots of Insignificant Parenthesis = fun :)

      Any Java app over a couple hundred files is automatically obfuscated,

      But I could do it in just a few lines! Not that hard, really--just chain a bunch of method calls with short names. The hard part is finding a series of Java method calls with short names.

      ----
      I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
      -- Schemer

      : () { :|:& };:

      Note: All code is untested, unless otherwise stated

Re: Re: Learning from Obfuscation
by Cirollo (Friar) on Jan 23, 2004 at 17:35 UTC
    As for obfu LISP, I'd be surprised if there wasn't such a beast. There may not be actual obfu contests like there are for Perl and C, but I'm sure somebody has tried making obfu LISP on purpose.
    I did a couple of Google searches, and it seems that there's not really any obfuscated Lisp out there. Maybe it was so horrendous that the authors couldn't in good conscience unleash it on the world.

    Plus, it seems that Lisp obfuscations would generally consist of "Hey! Let's add more parentheses!" One of the great things about Perl obfuscation is that you can use so many cryptic non-alphanumeric characters.

    I think Lisp hackers tend to prefer writing things like quines and polyglots in their spare time.

Re: Re: Learning from Obfuscation
by flyingmoose (Priest) on Jan 23, 2004 at 17:58 UTC
    I considered downvoting you for using Farscape swear words, but thought better of it :) (just kidding folks, move along!)

      Bah, what kind of dren is that? :)

Re^2: Learning from Obfuscation
by Nkuvu (Priest) on Jan 23, 2004 at 18:12 UTC
    If it can be done in Java, it can be done anywhere.
    Even Python? :)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://323591]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (7)
As of 2014-07-28 22:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (210 votes), past polls