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

Re: Obfuscation: Text munging techniques

by jynx (Priest)
on Aug 09, 2002 at 18:33 UTC ( #188996=note: print w/replies, xml ) Need Help??

in reply to Obfuscation: Text munging techniques

A few more ways to do it:

  • Build functions that will create the text when given certain input. vis-a-vis this by jake.
  • Fluff the text and weed out extraneous information a la this by gmax (which is the spoiler to this.)
  • Use built-in or standard off-site strings to construct the string without actually showing which strings you're constructing from (two examples being here and here; caveat to those using eval to generate strings -- error messages are not necesarily ubiquitous).
  • Format the text in an interesting way such as this obfu by Len.
  • Just give the text (reasonably) straight-forward (like Dominus does here) because no-one can figure out what you're doing with it anyway :)
  • trivially: you can bit-or, bit-and, or bit-xor the text to other text to hide what your original string is (ie this), just know that it's not a very good obfu technique by itself (there are much better examples of this one, i just don't have the time to search for one right now; it will hopefully be updated in the future...)
Just a few suggestions, hopefully they help more than hurt...


PS: please feel free to /msg me with what you think are better examples for any of the points above (i didn't spend too much time searching...)

Update: added a trivial case and moved around some text to make it more readable...

Replies are listed 'Best First'.
Re: Re: Obfuscation: Text munging techniques
by educated_foo (Vicar) on Aug 10, 2002 at 03:10 UTC
    Just give the text (reasonably) straight-forward (like Dominus does here) because no-one can figure out what you're doing with it anyway :)
    To me, this is the heart of obfu -- find some interesting or unexpected Perl behavior, and use it as the core of the obfu. Sure you can uuencode your text, or replace all the variables with punctuation vars, but for taking the time to unravel these things, the reader deserves to be rewarded with some nugget of "aha".


Log In?

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (2)
As of 2023-01-29 18:11 GMT
Find Nodes?
    Voting Booth?

    No recent polls found