Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Okay, this one is a doozy! I spent quite a while on this piece of code. I really wanted it to be cool! So anyway, this is a standard script that I have seen thrown around in here. Just a little longer is all :)

I actually want to do an introduction for the code.

  • First of all, like most other obfu scripts, the output is not hardcoded into the script. There are comments in the mass of numbers, but those do not do anything to the script. They are simply comments. And yes, I added a couple of unnecessary commands.
  • Second of all, yes it is long! I didn't start out wanting it to be so long but I got carried away and had fun! Not everything is work... all work and no play makes a dull mt2k.
  • Third, this worked fine on both the Win32 system and the linux system I tested it on (okay, so the linux version spat a syntax error at me where Win32 did not, but I fixed it) So if you have any problems, pleaase post the error(s) it gives you. The script runs fine with use strict; but fails big time with warnings enabled! (especially with all those non-numeric comments I threw in for fun)
  • Fourth, a description on how I did this: nah, maybe not. I will not ruin the fun. Try and figure it out :) Pssttt... after you have run it once, only get rid of the word 'eval' at the end of the script and run it through again. It is very interesting what you get :)
  • Fifth... oh wait, there is no "fifth"! So without further ado, here it is!

{eval{sub _{{(@!{2} ,@![3])=split(/\`/,$1)} (@![0],@!{1})=(@!{2},@![3]) if$_++<++$|;$..=chr@! [3]+-($!{2}/(@!{1}+$![0])+-1);}_ while($|='2`10`1`115`49`121`25`100`49`36`37`98`49`127` 85`130`109`49`49`68`1`33`61`128`85`57`109`134`85`20 `97`18`1`44`97`72`97`41HEHE`25`93`73`57`37`96`85`48`13` 62`1`115`25`114`97`116`1`105`37`119`73`46`73`53`109 `101`61`101`25`49`25`46`109`45`85`56`85`48`73`131`37` 16`25`12`85hello`47`85`71`1`33`25`93`25`50`73`99`73`50`1` 64#`61`38`49`127`61`54`49`129`85`48`1`61`73`46`85`71` 1`33`61`128`49`54`73`131`13`45`61`69`61`38`97`99`37` 54`37`96`73`47`25` 15`97`18`25`107`13`103`73`42`37`98 `37`46`37`46`73`66`37`46 `85`50`1`36`37`127`49`63`61` 117`109`123`1`105`1`110`61`121`49`36`49`103`85`111` 49`118`61`69` 37`36`109`22`37`13`25`93`73`57`61`98`97 `51`1`45`49`44`73`42`37`36`1`123`109`59`49`129`49`51 `1`40`61`69`13`34`25`125`97`57`37`128`97`51`25`38`97 `21`1` 10`25`35`109`100`13` 49`73`99`1`41`73`49`1`45`61 `54`85`48`25`61`97`133`37`98`37`16`13`11`49`123`25` 106`73`111`109`117`37`104`49`44`37`42`97`60`109`105` 85`64`37`99#`13`53`13`49`109`105`1`55`13`56`13`97`73`55 `25`98`37`52`1`49`109`64YA FOUND A COMMENT!`61`101`61`54`85`56`1`56`61 +` 101`1`49`97`58`97`60`97`104`97`60`109`57`13`97`85`56 `85`56`13`58`1`96`97`57`61`101`109`60`85`57`49`100` 25`55`85`58`73Perlmonks Is Awesome`102`1`54`1`57`49`100`73`55`97`104`1 +` 49`109`58`1`48`97`104`13`51`85`62`1`96`1`49`49`53` 61`56`85nothing here`103`1`54`109`63`1`96`1`49`1`50`25`51`13`97`97` 58`1`55`1`96`13` 50`73`54`109`63`13`97`13`53`37`51`109` 105`1`49`109`57`37`55`85`103`109`61`37`51`37`99`13`50`25 `51`13`56`37`99`1`50 `#1`55`85`103`85`58`13`53`61`101`37`53 `73`61`37`99`85`63`85`57`1`96`97`57`1`52`97`104`109`58 `25`50`13`51`61`101`85`64`97`58`49`100`73`55`49`54`73`55` 73`102`61`59`61`59`109` 105`25`51`37`52`25`53`109`105`1`53 `97`59`97`104`109` 60`37`57`61`101`97`58`61`60`37`99`109`64 `85`59`109`105`49`56`25`50`73`102`61`54`49`52`85`55`61`101 `49`53`1`48`109`62`37`99 `85`56`61`53`49`59`49`100`49`61` 85`57`73`102`73`55`49`53`37`55`109`105`73`61`25`59`1`96`49` 53`25`50`25`57`109`105`61`55`13`56`109`105`49`53`1`49`37`57` 13`40`1`61`37`129`73`19`61`15`61`52`25`42`97`99`109`103`1`96` 37`96`85`50`73`102`73`97`85`101`97`104`73`99a`109`52`1`41`1 `96`97`71`85`54`25`105`13`42`37`62'=~/([^`]+`[^`]+)`?/g);print eval $. + ,"\n"}}

In reply to mt2k's first obfuscation by mt2k

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (4)
As of 2024-04-23 23:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found