Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Obras de arte en Perl Ofuscado

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Pasando el Rato
Mensaje Mie Abr 20, 2005 3:41 am
macgregor
Perlero Frecuente
Perlero Frecuente
Registrado: 09 Dic 2004
Mensajes: 117
Ubicación: españa
Obras de arte en Perl Ofuscado Responder citando

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:
#!/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:
#!/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).
Mensaje Mie Abr 20, 2005 9:53 am
macgregor
Perlero Frecuente
Perlero Frecuente
Registrado: 09 Dic 2004
Mensajes: 117
Ubicación: españa
Perl Ofuscado Responder citando

Para todos aquellos que no puedan provar el script del camello os dejo aqui la salida.

Código:
         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
Mensaje Mie Sep 28, 2005 10:59 am
explorer39
Perlero Frecuente
Perlero Frecuente
Registrado: 23 Ago 2005
Mensajes: 126
Ubicación: Valladolid, España
Camiseta Responder citando

Me gustó tanto que me compré dos de estas camisetas.
Mensaje Jue Ago 30, 2007 6:53 am
aramallal
Perlero Nuevo
Perlero Nuevo
Registrado: 12 Jun 2007
Mensajes: 63
Responder citando

jaja está genial!!!
Publicar nuevo tema   Responder al tema    Foros de discusión -> Pasando el Rato Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group