Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

System Independant Rand-JAPH

by ktross (Deacon)
on Mar 17, 2005 at 13:11 UTC ( [id://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:

Replies are listed 'Best First'.
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
Domain Nodelet?
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?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2025-06-18 08:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.