help_outline
Ayudanos!
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Perl] Ejemplo de Cifrado Murcielago

  • 8 Respuestas
  • 4170 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« en: Noviembre 21, 2014, 10:11:36 am »
Un simple ejemplo en Perl sobre como realizar el cifrado Murcielago.

Código: Perl
  1. # !usr/bin/perl
  2. # Cifrado Murcielago
  3. # Coded By Doddy Hackman in the year 2014
  4.  
  5. head();
  6. menu();
  7. copyright();
  8.  
  9. # Functions
  10.  
  11. sub head {
  12.     print "\n-- == Cifrado Murcielago == --\n";
  13. }
  14.  
  15. sub copyright {
  16.     print "\n\n-- == (C) Doddy Hackman 2014 == --\n";
  17. }
  18.  
  19. sub menu {
  20.     print qq(
  21. ===============
  22. = Menu        =
  23. ===============
  24. 1 - Cifrar    =
  25. 2 - Descifrar =
  26. 3 - Exit      =
  27. ===============
  28. );
  29.  
  30.     print "\n[+] Option : ";
  31.     chomp( my $op = <stdin> );
  32.  
  33.     if ( $op eq "3" ) {
  34.         copyright();
  35.         <stdin>;
  36.         exit(1);
  37.     }
  38.  
  39.     print "\n[+] Enter text : ";
  40.     chomp( my $text = <stdin> );
  41.  
  42.     print "\n[+] Result ...\n\n";
  43.  
  44.     if ( $op eq "1" ) {
  45.         print cifrado_murcielago($text);
  46.         <stdin>;
  47.         menu();
  48.     }
  49.     elsif ( $op eq "2" ) {
  50.         print descifrado_murcielago($text);
  51.         <stdin>;
  52.         menu();
  53.     }
  54.     else {
  55.         menu();
  56.     }
  57.  
  58. }
  59.  
  60. sub cifrado_murcielago {
  61.     my $texto = shift;
  62.     $texto =~ tr/murcielagoMURCIELAGO/01234567890123456789/;
  63.     return $texto;
  64. }
  65.  
  66. sub descifrado_murcielago {
  67.     my $texto = shift;
  68.     $texto =~ tr/01234567890123456789/murcielagoMURCIELAGO/;
  69.     return $texto;
  70. }
  71.  
  72. # The End ?
  73.  

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #1 en: Noviembre 24, 2014, 02:51:54 pm »
De 70 líneas a 22 y hace exactamente lo mismo.

Código: Perl
  1. #!/usr/bin/perl
  2.  
  3. print "\n-- == Cifrado Murcielago == --\n";
  4.  
  5. menu:
  6.  
  7. print qq(===============\n= Menu        =\n===============\n1 - Cifrar    =\n2 - Descifrar =\n3 - Exit      =\n===============\n);
  8.  
  9. print "\n[+] Option : ";
  10. chomp( my $op = <stdin> );
  11.  
  12. exit if ( $op eq "3");
  13.  
  14. print "\n[+] Enter text : ";
  15. chomp($_ = <stdin>);
  16.  
  17. $_ =~ tr/murcielagoMURCIELAGO/01234567890123456789/ and print if ($op eq "1");
  18. $_ =~ tr/01234567890123456789/murcielagoMURCIELAGO/ and print if ($op eq "2");
  19.      
  20. print "\n\n-- == (C) Doddy Hackman 2014 == --\n";
  21.        
  22. goto menu;
  23.  

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« Respuesta #2 en: Noviembre 24, 2014, 04:08:47 pm »
en ningun momento busque la reduccion de codigo en el script , igual gracias por comentar.

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #3 en: Noviembre 24, 2014, 04:18:06 pm »
Pero... hacer hacer algo tan simple es un poco absurdo que lo hagas con funciones :-\

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« Respuesta #4 en: Noviembre 24, 2014, 04:23:37 pm »
no le veo absurdo solo le agregue funciones de mas al script porque quize , es un simple ejemplo no estamos en una competencia de codigos xD.

Desconectado kid_goth

  • *
  • Underc0der
  • Mensajes: 201
  • Actividad:
    0%
  • Reputación 3
  • Tu conocimiento se limita cuando dices NO PUEDO...
    • Ver Perfil
    • DC Projects
    • Email
« Respuesta #5 en: Noviembre 24, 2014, 04:24:40 pm »
A mi parecer mejor programar bien que por programar... el codigo de Doddy es obviamente mas organizado y legible para quienes inician en la prog, ademas el uso de goto? naaaaa. Juan a veces no es tanto lo simple que sea, sino lo que pueda aportar para otras cosas, y aunque el código en si, hasta en 1 sola linea en bash lo haces si lo necesitaras. Lo que importa es que quien lo tome (me imagino mas por practica o por ejemplo) al menos vaya aprendiendo de funciones y esas cosas....

Saludos



Acepta con humildad y aprecio que en la vida la muerte es inevitable y amarás ésta, adorando la muerte

Desconectado LKI

  • *
  • Underc0der
  • Mensajes: 61
  • Actividad:
    0%
  • Reputación 0
  • |Un día sin aprender nada, es un día perdido..|
    • Ver Perfil
    • Email
« Respuesta #6 en: Noviembre 24, 2014, 05:04:27 pm »
Citar
"Cualquier tonto puede escribir código que un ordenador entiende. Los buenos programadores escriben código que los humanos pueden entender."  Martin Fowler 


Citar
"Los programas deben ser escritos para que la gente los lea y sólo incidentalmente, para que las máquinas los ejecuten."                        Abelson / Sussman

Citar
"Medir el progreso de la programación por líneas de código es como medir el progreso en la construcción de aviones por el peso."                  Bill Gates
Ser mejor cada día es mi meta

 =LKI=

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #7 en: Noviembre 24, 2014, 05:12:25 pm »
No creo que mi código sea ilegible, de hecho lo veo mas leigle que el otro, ya que lo puedes leer y entender sin dar vueltas por el código.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« Respuesta #8 en: Noviembre 25, 2014, 11:05:42 am »
pensa lo que quieras Juan nadie se opone xD , igual si tan legible es tu codigo la proxima vez identalo y evita estos chorizos largos :

Código: Perl
  1. print qq(===============\n= Menu        =\n===============\n1 - Cifrar    =\n2 - Descifrar =\n3 - Exit      =\n===============\n);
  2. $_ =~ tr/murcielagoMURCIELAGO/01234567890123456789/ and print if ($op eq "1");

Espero que sea el fin de esta discusion sin sentido xD.

Saludos.

 

¿Te gustó el post? COMPARTILO!



Tutorial perl desde cero By: Black Poision & Painboy

Iniciado por ProcessKill

Respuestas: 2
Vistas: 3347
Último mensaje Septiembre 02, 2011, 09:43:36 pm
por blozzter
[Perl] Verificando si es root para correr un script

Iniciado por c1st

Respuestas: 1
Vistas: 1609
Último mensaje Octubre 07, 2012, 06:01:39 pm
por ANTRAX
[Perl] Search in google for scan SQLI

Iniciado por BigBear

Respuestas: 0
Vistas: 1393
Último mensaje Julio 03, 2011, 09:49:49 pm
por BigBear
[Perl] Half Life Servers List 0.1

Iniciado por BigBear

Respuestas: 0
Vistas: 1212
Último mensaje Noviembre 12, 2012, 07:31:50 pm
por BigBear
DoSing IP 1.0 - [Creado por SkillmaX] + Source [PERL]

Iniciado por SkillmaX

Respuestas: 0
Vistas: 1475
Último mensaje Julio 04, 2010, 10:14:31 am
por SkillmaX