Beefy Boxes and Bandwidth Generously Provided by pair Networks httptech
laziness, impatience, and hubris
 
PerlMonks  

System Independant Rand-JAPH

by ktross (Deacon)
on Mar 17, 2005 at 13:11 UTC ( #440362=obfuscated: print w/ replies, xml ) Need Help??

I've seen a couple of Obfus here that are based upon the predictable nature of perl's random number generator. Unfortunately, these solutions tend to be system/version dependant. Here is my attempt at a rand-JAPH that overcomes this issue.
use subs qw(rand);@" =(-31,1,57,87,-46,26,27,6,0,46,,72, 36,-7,-3,-4,-2,50,3,-6,58,16,2,-15,56,15);@_=(1,0,1,0,0, 1,1);$!=0; for(1..25) {@_=rand(@_);print chr($_+@"[$!]); $!++;}sub rand{unshift(@_,$_[3]^$_[5]), pop(@_), $_= '', $_=join(/,/,@_),$_=&_($_),return @_}sub _{return unpack( "N", pack("B32",substr("0"x32 . shift,-32)));} rand(@_);
Does this work for everyone?

Explanation:
I am attempting to make this version of a random-generated-JAPH system independant by over ridding the built-in rand function. The new rand function generates a psuedo-random binary bitstream, using what equates to a shift register and an XOR gate. The binary value of the shift register is converted to a decimal number using the subroutine sub _. The string "Just Another Perl Hacker," is then character mapped onto the 'random' number stream.

Comment on System Independant Rand-JAPH
Download Code
Re: System Independant Rand-JAPH
by starbolin (Hermit) on Mar 18, 2005 at 00:25 UTC

    Works under Perl 5.8.5, 64 bit int, FreeBSD 5.3. Otherwise, pretty twisted, I'm still trying to /obfu.

    Though it's not really an overload of rand() as it modifies global $_. Thought you'd get me there, did you?

    s//----->\t/;$~="JAPH";s//\r<$~~/;{s|~$~-|-~$~|||s |-$~~|$~~-|||s,<$~~,<~$~,,s,~$~>,$~~>,, $|=1,select$,,$,,$,,1e-1;print;redo}

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2014-04-21 02:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (489 votes), past polls