• Publicidad

Obras de arte en Perl Ofuscado

¿Tienes algo interesante que decir? ¿O quizá algo no tan interesante? Aquí tenemos un espacio para compartir todo lo que queramos decir y que no cabe en ninguno de los otros foros.

Obras de arte en Perl Ofuscado

Notapor macgregor » 2005-04-20 04:41 @237

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).
MACGREGOR [TM]
Avatar de Usuario
macgregor
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2004-12-09 07:32 @355
Ubicación: españa

Publicidad

Perl Ofuscado

Notapor macgregor » 2005-04-20 10:53 @495

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
MACGREGOR [TM]
Avatar de Usuario
macgregor
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2004-12-09 07:32 @355
Ubicación: españa

Camiseta

Notapor explorer39 » 2005-09-28 11:59 @541

Me gustó tanto que me compré dos de estas camisetas.
explorer39
 

Notapor aramallal » 2007-08-30 07:53 @370

jaja está genial!!!
aramallal
Perlero nuevo
Perlero nuevo
 
Mensajes: 63
Registrado: 2007-06-12 06:29 @312


Volver a Pasando el rato

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados