Página 1 de 1

Obras de arte en Perl Ofuscado

NotaPublicado: 2005-04-20 04:41 @237
por macgregor
Foro Reloaded...
Mascota Reentered...

No podía permitir que este mensaje no apareciera en el foro.

Especialmente el primer programa del camello.

El programa no sirve para nada, pero el código y la salida son espectaculares.
Código: Seleccionar todo
#!/usr/bin/perl -w                                   
use strict;
                                           $_='ev
                                       al("seek\040D
           ATA,0,                  0;");foreach(1..2)
       {<DATA>;}my               @camel1hump;my$camel;
  my$Camel  ;while(             <DATA>){$_=sprintf("%-6
9s",$_);my@dromedary           1=split(//);if(defined($
_=<DATA>)){@camel1hum        p=split(//);}while(@dromeda
 ry1){my$camel1hump=0      ;my$CAMEL=3;if(defined($_=shif
        t(@dromedary1    ))&&/\S/){$camel1hump+=1<<$CAMEL;}
       $CAMEL--;if(d   efined($_=shift(@dromedary1))&&/\S/){
      $camel1hump+=1  <<$CAMEL;}$CAMEL--;if(defined($_=shift(
     @camel1hump))&&/\S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if(
     defined($_=shift(@camel1hump))&&/\S/){$camel1hump+=1<<$CAME
     L;;}$camel.=(split(//,"\040..m`{/J\047\134}L^7FX"))[$camel1h
      ump];}$camel.="\n";}@camel1hump=split(/\n/,$camel);foreach(@
      camel1hump){chomp;$Camel=$_;tr/LJF7\173\175`\047/\061\062\063
      45678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;print"$_\040
       $Camel\n";}foreach(@camel1hump){chomp;$Camel=$_;y/LJF7\173\17
        5`\047/12345678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;p
         rint"\040$_$Camel\n";}#japh-Erudil';;s;\s*;;g;;eval;   eval
           ("seek\040DATA,0,0;");undef$/;$_=<DATA>;s$\s*$$g;(   );;s
             ;^.*_;;;map{eval"print\"$_\"";}/.{4}/g; __DATA__   \124
               \1   50\145\040\165\163\145\040\157\1 46\040\1  41\0
                    40\143\141  \155\145\1 54\040\1   51\155\  141
                    \147\145\0  40\151\156 \040\141    \163\16 3\
                     157\143\   151\141\16  4\151\1     57\156
                     \040\167  \151\164\1   50\040\      120\1
                     45\162\   154\040\15    1\163\      040\14
                     1\040\1   64\162\1      41\144       \145\
                     155\14    1\162\       153\04        0\157
                      \146\     040\11     7\047\         122\1
                      45\15      1\154\1  54\171          \040
                      \046\         012\101\16            3\16
                      3\15           7\143\15             1\14
                      1\16            4\145\163           \054
                     \040            \111\156\14         3\056
                    \040\         125\163\145\14         4\040\
                    167\1        51\164\1  50\0         40\160\
                  145\162                              \155\151
                \163\163                                \151\1
              57\156\056

# camel code, copyright 2000 by Stephen B. Jenkins
# The use of a camel image with the topic of Perl
# is a trademark of O'Reilly & Associates, Inc.
# Used with permission.


Otro ejemplo de código Perl es este encantador programa que aplica el algoritmo RSA para encriptar/desencritar y generar claves (Al estilo PGP, para que te hagas una idea):

Código: Seleccionar todo
#!/usr/bin/perl -s
                                                    @x=qw/e n d/;if(
                             $kg){$e=13;$_="setrand(@{[int((rand)*90)]})
                         ;K=vector(2,g,nextprime(random(10^$s)));e=$e;n=K[1]*
                             K[2];d=e^-1%((K[1]-1)*(K[2]-1));";s/\s//sg;for(
                              `echo "$_ e\nn\nd\n"|gp -q`){print$x[$j++]
                            ,"=",`echo "10i16o$_ p"|dc`}exit}$t=
                           unpack'H*',join'',<>;$l=length$n;$y
                        =$e?$l-2:$l;$i="16dio";while  (){$M=
                    ($e&&1+int(rand 8)).(substr     $t,$p
                 ,$y or last);$i.="\U$M $k        $n\E|
              pc";$p+=$y}for(reverse
         `echo "$i"|dc`){chop
 ;$d&&s/^(.)//||($_=
   sprintf"%0${l}s"
    ,$_); $f
    .=$_}#
    print
    pack
   'H*'
 ,$f
#  RSA Encryption, Decryption and Key Generation with Perl/dc/gp.
#  Copyright (c) 1998-2000, Vipul Ved Prakash.
#  http://munitions.vipul.net/documents/rsafin.html
#  $Id: fin,v 0.10 1999/01/25 23:24:37 root Exp root $
#  Syntax:
#  To generate 1024-bit key: fin -kg -s=155
#  To generate 2048-bit key: fin -kg -s=309 (Takes a while.)
#  To encrypt/decrypt: fin -k=key -n=rsa_modulus [-e/-d] files.


También es ilegible, pero es bonito (Y, hasta hace poco, estaba considerado como un arma por las leyes estadounidenses, prohibiéndose su exportación).

Perl Ofuscado

NotaPublicado: 2005-04-20 10:53 @495
por macgregor
Para todos aquellos que no puedan provar el script del camello os dejo aqui la salida.

Código: Seleccionar todo
         mJXXLm.                                       .mJXXLm         
        JXXXXXXXXL.       JXXLm.       .mJXXL       .JXXXXXXXXL       
       {XXXXXXXXXXX.     JXXXmXXXXm mXXXXmXXXL     .XXXXXXXXXXX}       
      .XXXXXXXXXXXXXL.  {XXXXXXXXXF 7XXXXXXXXX}  .JXXXXXXXXXXXXX.     
     JXXXXXXXXXXXXXXXXL.`XXXXXX.       .XXXXXX'.JXXXXXXXXXXXXXXXXL     
    JXXXXXXXXXXXXXXXXXXXmXXXXXXX.     .XXXXXXXmXXXXXXXXXXXXXXXXXXXL   
  .XXXXXXXXXXXXXXXXXXXXXXXXXXXXX}     {XXXXXXXXXXXXXXXXXXXXXXXXXXXXX. 
 .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
 JXXXXXXXXXXXXXXXXXXXXXXXXXXXXXF       7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXL
 XX^7XXXXXXXXXXXXXXXXXXXXXXXXXF         7XXXXXXXXXXXXXXXXXXXXXXXXXF^XX
 XX {XXXFXXXXXXXXXXXXXXXXXXXF'           `7XXXXXXXXXXXXXXXXXXX7XXX} XX
 `X}{XXX'7XXXFXXXXX^XXXXX `'               `' XXXXX^XXXXX7XXXF`XXX}{X'
  `'XXX' {XXX'XXXXX 7XXXF                     7XXXF XXXXX`XXX} `XXX`' 
   .XX}  {XXF {XXXX}`XXX}                     {XXX'{XXXX} 7XX}  {XX.   
   {XX   `XXL  `7XX} 7XX}                     {XXF {XXF'  JXX'   XX}   
   `XX    `XXL mXXF  {XX                       XX}  7XXm JXX'    XX'   
    XX      7XXXF    `XX                       XX'    7XXXF      XX   
    XX.    JXXXX.     7X.                     .XF     .XXXXL    .XX   
   {XXL    7XF7XXX.   {XX                     XX}   .XXXF7XF    JXX}   
   `XXX'              `XXXm                 mXXX'              `XXX'   
                       ^^^^^               ^^^^^                       
          7XFL7JX7X{LFXJFXXF\X7J7X{ }XFLFX\7XX7LX7J}XFXLFJ7XF         
           `^'^^^^^''^^7XJLXX7X}LX{ }XJ{XFXXJLXF^^``^^^^^`^'           
                    .mJXXLm                  mJXXLm.                   
    .mJXXL       .JXXXXXXXXL                JXXXXXXXXL.       JXXLm.   
 mXXXXmXXXL     .XXXXXXXXXXX}              {XXXXXXXXXXX.     JXXXmXXXXm
 7XXXXXXXXX}  .JXXXXXXXXXXXXX.            .XXXXXXXXXXXXXL.  {XXXXXXXXXF
    .XXXXXX'.JXXXXXXXXXXXXXXXXL          JXXXXXXXXXXXXXXXXL.`XXXXXX.   
   .XXXXXXXmXXXXXXXXXXXXXXXXXXXL        JXXXXXXXXXXXXXXXXXXXmXXXXXXX. 
   {XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.    .XXXXXXXXXXXXXXXXXXXXXXXXXXXXX} 
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.  .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   
    7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXL  JXXXXXXXXXXXXXXXXXXXXXXXXXXXXXF   
     7XXXXXXXXXXXXXXXXXXXXXXXXXF^XX  XX^7XXXXXXXXXXXXXXXXXXXXXXXXXF   
      `7XXXXXXXXXXXXXXXXXXX7XXX} XX  XX {XXXFXXXXXXXXXXXXXXXXXXXF'     
        `' XXXXX^XXXXX7XXXF`XXX}{X'  `X}{XXX'7XXXFXXXXX^XXXXX `'       
           7XXXF XXXXX`XXX} `XXX`'    `'XXX' {XXX'XXXXX 7XXXF         
           {XXX'{XXXX} 7XX}  {XX.      .XX}  {XXF {XXXX}`XXX}         
           {XXF {XXF'  JXX'   XX}      {XX   `XXL  `7XX} 7XX}         
            XX}  7XXm JXX'    XX'      `XX    `XXL mXXF  {XX           
            XX'    7XXXF      XX        XX      7XXXF    `XX           
           .XF     .XXXXL    .XX        XX.    JXXXX.     7X.         
           XX}   .XXXF7XF    JXX}      {XXL    7XF7XXX.   {XX         
         mXXX'              `XXX'      `XXX'              `XXXm       
        ^^^^^                                              ^^^^^       
 }XFLFX\7XX7LX7J}XFXLFJ7XF                    7XFL7JX7X{LFXJFXXF\X7J7X{
 }XJ{XFXXJLXF^^``^^^^^`^'                      `^'^^^^^''^^7XJLXX7X}LX{
The use of a camel image in association with Perl is a trademark of O'Reilly &
Associates, Inc. Used with permission.#camelcode,copyright2000byStephenB.Jenkins#TheuseofacamelimagewiththetopicofPerl#isatrademarkofO'Reilly&Associates,Inc.#Usedwithpermissi

Camiseta

NotaPublicado: 2005-09-28 11:59 @541
por explorer39
Me gustó tanto que me compré dos de estas camisetas.

NotaPublicado: 2007-08-30 07:53 @370
por aramallal
jaja está genial!!!