Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

While running around the monastery, I ran into this discussion. Gee willy, a fan-dangled perl auto-obfuscator eh? Hope whatever you obfuscate is running on a mighty powerful server. Have you tried benchmarking any of the code that is created by this thing?

#!/usr/bin/perl =head1 SYNOPSYS A small program that does trivial things. =cut #here is a comment sub doit { my ($v) = @_; print "it's " . ($v + time()) . " seconds since epoch\n"; } doit(2);

Maintainer: Hey! I can read that!

#!/usr/bin/perl =head1 SYNOPSYS A small program that does trivial things. =cut my $SDzEh = q"{7hD$ZAo8eDSD+/FPUl$m0.nZl3l'++hdD)))%1jO)X2P52YT($IJCsM +d+dD))02P52YT($IJCsMdDdWUU);N$IJCsMNi~NYT^272\\/k=dnDJBLRWf+NHpr9.:a +q6Ab3xj7FVt45?8Ei1XSYMcOKvuCZgGm,IQ_U2yPhloTe0wzs^272\\/Eg4JN?D9Gfe2s +YruVqOW6PF1BXh5:LIiKUZbw8nTamQHlovtCx,_yM70A+dRp z=jc3k.S^272\\/;$IJC +sMNiNIEV.($IJCsM);;N};2b3N$IJCsMNiNR^67\\#tVpVeVpTwVpvpgFVpVeVpTmVpYp +YVIeIBYvVpVtVpVtVpVtVppXVVglYtTITeglYtTYTvglYtTVTYglYtTYTTglYtTVTpVVV +pVBVpVtVpVvYXTeIgToIITeToIIIoTTTtVpVmVpYvIeIwIgVpVeVpVeVpVBVppXVVglYt +TpTtVmVpTITY^33\\';$::JBkLsL(.2M(gkbgi2($::JBkxEE0wxE))>hp?3n2((0j01. +2M(gkbgi2($::JBkxVxE)))%y0h)Ygkbgi2($::JBkxEE0hxE))Ngkbgi2($::JBkxEE0 +wxE7E)Ngkbgi2($::JBkxExEE00);L$::JBkLs~Li2^272\\/swNBjVlE+a5oiIWMAgyd +6DY=8nLJ7XKu9hpce.0bGPt?r3_mQOC41,RvzxUk:qFH TZSf^272\\/,5L?0duFVab=s + mG8ZtxQEiPcn.9+YDXrpCIOWNKAkS1lgU4zMhT_yeH3vR7:w6fjo2JBq^272\\/;$::J +BkLsL FdW($::JBk);;L};{KUL$::JBkLsL^33\\'MTTTeVwTpYtTVTpTgTeVeVpVeVpT +mpX^545\\';K$H_cwwKR~K1.^272\\/pgITVwXmFBvYtelo^191\\\";$CLR5 JDJbCHb +k,($CLR5 INpKjIttNt)1bCHbk,($CLR5 ItINpKt)1(x,U(bCHbk,($CLR5 ItIt))>j +7f8,((t=x,U(bCHbk,($CLR5 I9It)))%N32)ybCHbk,($CLR5 INpKNIt));J$CLR5 J +D~Jk,\\/K3qDNXrvd:cPlJfe+2Ysko5CShR6x=ujyBLpZUg9zFHmO,VIaTM?wtE0.8A1_ +4nQW Gi7b\\/EaQ2ykXL_BxcvVn,71rq4:Au3eGzKWTNmdJtDIjMY?9PFbsO.5H+R SZo +wU6ig8hf0=lCp\\/;$CLR5 JDJVZuB($CLR5 );;J};W{dTJ$CLR5 JDJa\"y^80\\/Ip +BoltTvYVgXmFwe^272\\/;K$H_cwwKRKV_TyKQTwaK(^545\\'A*^545\\'h$H_cww);Q +.,W1K=Cfduu$@K,Y$@;$H_cww;} bTVTpglYtTYTTglYtTITgglYtTITTglYtTIIIglYtTIIgglYtTITvglYtTYTTglYtTVTpg +lYtTYTTglYtTITeglYtTIIgglYtX,TITTglYtTITgglYtTVTpglYtTITgglYtTYTpglYt +TIIIglYtTITTglYtTITtglYtTpIoVVpXVpVeVpVeVpTmVpYwVpY^16\\/;$q1dPXQtQPe +dPqO($q1dPXGf,.?GZFA)+PedPqO($q1dPXGf6pAGAf)+(cOD(PedPqO($q1dPXGpGf)) +>fp6=78O((TAYcOD(PedPqO($q1dPXGf6p?Gf)))%ZF6)xPedPqO($q1dPXGf6pTGf))+ +PedPqO($q1dPXGpGf,.?);Q$q1dPXQt~QqO^16\\/DKoqVI6pzWn9Y7+Oj2.g8rEXwQhU +:aB?k_,v5GdRA1mCZ Nub0xFlS3yts4McHJ=eTPfLi^16\\/j3wypar.1W8hxAEk,OcPR +5f TV6NHi9=enXBKLmICY?UJ0+udFG4lo7Z:tsDSMbvg2_zQq^16\\/;$q1dPXQtQ04mW +($q1dPX);;Q};N&^7\\\";$L?X6bGmG+DA+a8($L?X6bscs3xg)9+DA+a8($L?X6bs3xg +s3cWU)9(b8e(+DA+a8($L?X6bs3gEVs3))>W5KI8((EcNb8e(+DA+a8($L?X6bsgcxVs3 +)))%gUW)l+DA+a8($L?X6bsgcxWs3))9+DA+a8($L?X6bs3gEVsxqF);G$L?X6bGm~Ga8 +^16\\/Ipwh1KPTUFdSvQ9_iYB8uDJx4EmNa0=7M2ArkyCbcg: H63+WnR?oVzX,q5telO +ZfjG.sL^16\\/Jci.TY+VSUA7OG16ZNnIjeClMvR04d5KyuFHX? kb=t:,WP9BrzxpLQw +qahmDo8g3fsE_2^16\\/;$L?X6bGmGdMRB($L?X6b);;G};{P0G$L?X6bGmGy^7\\\"{3 +NQ$q1dPXQtQM^16\\/ITTvTYITITTtIVTeIITgVpVtVpVtTpYtTpTI^135\\\";$1Ojej +DtD+qj+HX($1Ojej2U2ATx)Q(FXM(+qj+HX($1Ojej2xBA2B))>B5abv1X((TAJFXM(+q +j+HX($1Ojej2xBU2B)))%AT:)3+qj+HX($1Ojej2xBB2B))Q+qj+HX($1Ojej2xBA2AAc +)Q+qj+HX($1Ojej2ATx2BT:);D$1OjejDt~DHX^71\\#;$+zgaqxjxa=6aDr($+zgaq47 +OI94Ii9F)X(zrc(a=6aDr($+zgaq4P4I))>IbIV+Br((I8zrc(a=6aDr($+zgaq47OIF4 +I)))%O5F)ya=6aDr($+zgaq4iFb74I))Xa=6aDr($+zgaq4P47OIF);x$+zgaqxj~xDr\ +\/sx3VMfLo:ba.vc 5k60lzWinNhT81p+O,C?jQwgyH7u_Dr9q2IBREUXePmKdZt=JAYF +G4S\\/,z5N9+pmSaQ3kZGKD0wElAMCO.vBXeb?r=h7R:Ty6VdqjtP2F41n cUsouiYLI8 +xHf_JWg\\/;$+zgaqxjxNLd1($+zgaq);;x};AYvx$+zgaqxjxQ#^200\\/uWIK2zDqU1 +=xlF6Cn, aMTHY?rpjgOec4o_Qm0fGwtibLXkABdhs.83SN7PZ:9RVv5EJ+y^272\\/If +UD0buwnHSyA5,ECOqY49Z?r8TQxiBeNck_adPmvM3167sp: 2oXF+hK=.RJGtVjLlgWz^ +272\\/;$1OjejDtDVk9z($1Ojej);;D};{80D$1OjejDtDy^135\\\"{r2K$H_cwwKRK^ +545\\'VpYTYgIVVpYXITTvTYITITTtIVTeIITgVpYmVpVtVpIwYeVpVtVpVvYXTeIgToI +ITeToIIIoTTT_^67\\#;$IJCsMNiN2P52YT($IJCsJ^3\\#;$HA4XA B UbjU.T($HA4X +AniO33nu1h)cUbjU.T($HA4XAnhn++)cUbjU.T($HA4XAn++ni+xx)c(FTt(UbjU.T($H +A4XAn++ni))>3xxR:dT((1hgFTt(UbjU.T($HA4XAn3K+3ni)))%3u1)?UbjU.T($HA4X +AniO3ini)); $HA4XA B~ .T^16\\/kKzisN.7_GaOX0DSld2Z3vm?YJPw1L9cyHgUu=r +ntIqjC+F R4VoeM,A5x6WEbpBhf8T:Q^16\\/8:DMngw4y .v5Hba?6PSikB0rqeN2sch +_o3uIWEV7dxQAUO=GpZftlXjR+z1KF,mYJTCL9^16\\/;$HA4XA B 6lGm($HA4XA);; +};0^1\\';$WoUXdL5LxG1xSl($WoUXdcucR22_)0(glz(xG1xSl($WoUXdcR2Pucn))>n +9_qEHl((6nbglz(xG1xSl($WoUXdcRP_2cn)))%R69)?xG1xSl($WoUXdcR22_cn))0xG +1xSl($WoUXdcR2Pucnn2);L$WoUXdL5~LSl^16\\/PW52xZ6OtEKbI4B_FN9SAH1w diY +gav3yrpo=Me+J0RcqUC,z.l7LDGnfXT?:8usjVhmkQ^16\\/QfhK:2,_zsDG7w5MgejUB +89iLHn=bJmRWX+OZrNPV3q0YxAyaSod4.Ic vl?Ep6F1tuCkT^16\\/;$WoUXdL5L,oIC +($WoUXd);;L}{;o^1\\'\\/;$f1cInLZL(ceA(,7M,Xe($f1cInUHUp))>pHx+Wne((xg +GceA(,7M,Xe($f1cInUggxHUp)))%jSD)N,7M,Xe($f1cInUgggbUp))2,7M,Xe($f1cI +nUHUgggb)2(ceA(,7M,Xe($f1cInUHUp))>jx?+Wne((DSGceA(,7M,Xe($f1cInUggxp +Up)))%jSD)N,7M,Xe($f1cInUggg?Up));L$f1cInLZ~LXe\\/RIPkD2 EgMA_1T3=q0b +mSzH7NW:C.9+?xuoFUavjtreJLZ4QhwpicfVsld6X5YnOBGK,8y\\/jCbsx9.Wc3w?M1f +8+2G6XAnIBag:ODRN,H0orQ_t VP=Ld45kviFUylEeTSKZhpmY7zJuq\\/;$f1cInLZLJ +0C:($f1cIn);;L}Y{BuL$f1cInLZL3\\/N8L$WoUXdL5L^1\\'{eH $HA4XA B _^3\\# +MdU++dD+h)0(LTQ(2P52YT($IJCsMdDdD))>DODBvnT((+?LTQ(2P52YT($IJCsMdD-'; +$m0.nZl3l(+mR(FnzF1m($m0.nZ2xY5i2V))>V9JGIm((VC7+mR(FnzF1m($m0.nZ2xY5 +c2V)))%9ci)?FnzF1m($m0.nZ2cYVh2V))kFnzF1m($m0.nZ2xY5i2V5VY)kFnzF1m($m +0.nZ2g2xY5c);l$m0.nZl3~l1m\\/mpbNw?ruZhQ:2lYsq0MxIjyHtSOXkK UFdW4cBaD +PEGo_ng=,C89fJ+65ezT.1RvA3L7iV\\/845u=QmZ Or0:vPT.wDlV3?WEL9kAdBeifH2 +RIF1gaS,s_XnNK7CtqGzcY+6MobUypjxhJ\\/;$m0.nZl3lujfo($m0.nZ);;l};/;$Z +Ao8eDSD(Z6Q(j5bj 6($ZAo8eM_M_))>_=qs6((KaEcZ6Q(j5bj 6($ZAo8eMaM_)))%: +EP)kj5bj 6($ZAo8eMvv_3M_))tj5bj 6($ZAo8eM_MEPKE)tj5bj 6($ZAo8eMEPKPM: +avm);D$ZAo8eDS~D 6/scfT5yJOX87_zgZr,6IvLMnl?9VQ13tHaNDKS: w.qE+ijpW0u +4Cb=GdhPoF2mUkBRYAxe/dE1YXw=9oxcHbar+BIspfn5Dk:_0 SFJWCNzl2VyG.4ZP8?i +TALv,Oqe37RjM6htUQmgKu/;$ZAo8eDSDA81R($ZAo8e);;D};";$SDzEh =~ s/\^([0 +-9]+)/"\\"x$1/eg;$SDzEh =~ tr/R9yzC58DejvhTPkGcia+wZtVWI4U2lXu?QSANxb +s =E1o:gF3OMnH,0q7Bd.frLKYmpJ_6/lQiFMuv _s7yw6:O+N0qDo.VfUWTRX9SBd=eI +Hbht?5aK2jJ4C,gkZLcmApzEPx3G8Yn1r/;eval($SDzEh);

Maintainer: Wtf?!?! So this is what hell looks like. Hmmm, I thought it'd be better somehow.

Well, let's see how fast these little puppies run.

Benchmark: timing 1000 iterations of norm, wtf... norm: 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) @ 12 +8000.00/s(n=1000) wtf: 20 wallclock secs (20.44 usr + 0.01 sys = 20.45 CPU) @ 48 +.91/s (n=1000)

Woah! norm is some blazing code. wtf seems to be...uh...wtf!?!?! 48.91/s to execute what was 4 lines of code. Can't wait to try this on those 500kb scripts and modules that you were talking about.

I can see the reaction after the sales pitch:

Me: So let me get this straight. Anyone who will ever want to read my code again, including myself, will have to spend an eternity trying to break this down. And my spanking fast code will become so slow that I can watch the opcodes go by. How much could such a little gem possibly cost?

You: The low low price of $879 for developers! Some astronomical price for the enterprise edition! And hey, we may give you a t-shirt that says "$879 bought this t-shirt and a nifty program, but I only use one of them"!

Me: Is there a sadomasochist or I-never-want-to-be-hired-again special?

antirice    
The first rule of Perl club is - use Perl
The
ith rule of Perl club is - follow rule i - 1 for i > 1


In reply to Re: Here is a commercial obfuscator by antirice
in thread Here is a commercial obfuscator by Anonymous Monk

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 imbibing at the Monastery: (3)
As of 2024-04-18 00:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found