Obfuscation Contest

Stato
Discussione chiusa ad ulteriori risposte.

Oromis92

Utente Silver
22 Dicembre 2007
102
12
2
84
propongo un bel contest di codice offuscato.
regole:
  • il programma deve stampare a video una stringa a piacere (anche un semplicissimo "Hello")
  • potete sviluppare il programma in che linguaggio volete
  • deve essere abbastanza complicato! togliere gli spazi non significa offuscarlo ;)
  • codice vostro! non copiato da altri siti (vedete che controllo xD)
  • fine del contest: domenica 04/01/09 alle ore 00:01. (praticamante il 3 gennaio è l'ultimo giorno)
  • dopo il quattro, chi non ha partecipato vota la creazione migliore
  • chi ha più voti vince xD


ecco la mia creazione:

[PERL]
Codice:
$p=PERL;@p=(24,32,62,35);$P=0
+((1+0)^(0+1))+1;$BP=$P.0;($b
.=chr($p[$_]^ord(substr($p,$_
,$P))))for($P-1..($P+$P)*($P+
$P));$B=substr($b,($P+$P)+$P,
$P);chop($b);chop($b);$b.=chr
($p[$P+$P]^ord(substr($p,$P+$
P,$P))).$B.chr($BP);print $b;
 
RE: [contest] infernet-x obfuscation contest

bono, a me succede anche senza volerlo...XD

Codice:
#include <iostream>
#define supercalifragilistichespiralidoso cout 
#define BecausemaybeYouaregonnabetheonewhosavesmeAndafterallYouaremywonderwall "Hello"
#define qwertyuiopasdfghjklzxcvbnm "I Win This Contest"
using std::supercalifragilistichespiralidoso;
int main(){supercalifragilistichespiralidoso << BecausemaybeYouaregonnabetheonewhosavesmeAndafterallYouaremywonderwall;
supercalifragilistichespiralidoso << qwertyuiopasdfghjklzxcvbnm;return 0;}

edit: non avevo letto la parte dove diceva di non mettere le intestazioni necessarie...
 
RE: [contest] infernet-x obfuscation contest

datemi 10 minuti XD

PHP:
<?$v="61";$a=array("48","65","6c","6c","6f");$v2=chr(hexdec($v));$as=$$v2;for($i=0;$i<count($as);$i++){$de[$i]=chr(hexdec($as[$i]));echo $de[$i];}?>

:asd:
 
RE: [contest] infernet-x obfuscation contest

PHP:
<?php
$str1=ord(chr(67));$str2=ord(chr(105));$str3=ord(chr(97));
$str4=ord(chr(111));$str5=ord(chr(32));$str6=ord(chr(77));
$str7=ord(chr(111));$str8=ord(chr(110));$str9=ord(chr(100));
$str10=ord(chr(111));$final=0;for($i=1;$i<=10;$i++){
eval("\$tmp=\$str{$i};");ob_start();echo chr($tmp);unset($tmp);print'bla';
$t=substr(ob_get_contents(),0,1);ob_end_clean();print$t;unset($t);
}
?>
 
RE: [contest] infernet-x obfuscation contest

new version

PHP:
<?$v="61";$a='48';$v2=chr(hexdec($v));$as=$$v2;$de[0]=chr(hexdec($as));
$de[count($de)+1]=chr(hexdec(($a/4)*(5)+(5)));for($a=0;$a<2;$a++)
{$de[count($de)+1]=chr(hexdec(chr(hexdec(36)).''.chr(99).''));
}$de[count($de)+1]=chr(hexdec(chr(hexdec(36)).''.chr(102).''));$asd=implode('',$de);
echo $asd;?>
 
RE: [contest] infernet-x obfuscation contest

[Perl]
Codice:
use Digest::MD5 qw(md5_hex);$text=shift or die();@new=
();for ($i=0;$i<length($text);$i++){push(@new,md5_hex(
$text[i]));};if(length(@new)>0){print@new;}else
{print "You're a fag!";}
E' confuso anche l'output xD
 
RE: [contest] infernet-x obfuscation contest

ehm infatti. non ho ben capito ^^
il programma non fa che sputarmi fuori la stringa d41d8cd98f00b204e9800998ecf8427e ??

inoltre solo se do qualcosa come argomento. e poi ogni lettera dell'argomento in più sempre quella stringa.

sinceramante, non ho capito ^^

edit: non avevo letto la parte dove diceva di non mettere le intestazioni necessarie...
intendevo nel conteggio dei 500 caratteri
 
RE: [contest] infernet-x obfuscation contest

Codice:
#include <System>

var $=System.Console.write;var _=String.fromCharCode;
      [94,                   121,
        113,               114,
          101,           121,
            114,        99,
              58,     79,
               55].each(
              function(x)
               {$(_(x^23
              ))}     );[
            66,         75,
          73,             65,
        10,                 89,
       69,                    95,
88,73,79,32].each(function(x){$(_(x^42))})

Javascript (Serve il mio interprete che trovate qui)
 
RE: [contest] infernet-x obfuscation contest

Oromis92 ha detto:
ehm infatti. non ho ben capito ^^
il programma non fa che sputarmi fuori la stringa d41d8cd98f00b204e9800998ecf8427e ??

inoltre solo se do qualcosa come argomento. e poi ogni lettera dell'argomento in più sempre quella stringa.

sinceramante, non ho capito ^^

edit: non avevo letto la parte dove diceva di non mettere le intestazioni necessarie...
intendevo nel conteggio dei 500 caratteri



Nessuno ha detto come deve funzionare, l'importante è che funzioni ^^
 
RE: [contest] infernet-x obfuscation contest

diceva a me, perchè avevo scritto "edit: ho tolto le intestazioni necessarie perchè avevo letto male"

edit: ho modificato il mio
 
RE: [contest] infernet-x obfuscation contest

in java:
Codice:
public class dk{String n,k;public dk(){for(int c$0=0;c$0<10;){n+=k+c$0;c$0++;}
String R4z0r=k+(char)x(k+y(8)+y(2))+k+(char)x(k+y(5)+y(2))+k+(char)x(k+y(1)+y(2)+y(2))+k+(char)x(k+y(4)+y(8))+k+(char)x(k+y(1)+y(1)+y(4)),
Cr4$H=k+(char)x(k+y(6)+y(7))+k+(char)x(k+y(1)+y(1)+y(4))+k+(char)x(k+y(5)+y(2))+k+(char)x(k+y(3)+y(6))+k+(char)x(k+y(7)+y(2));System.out.println(R4z0r+"_"+Cr4$H);}
public int x(String s){return Integer.parseInt(s);}public String y(int s){return k+n.charAt(s);}}
 
RE: [contest] infernet-x obfuscation contest

AAAARGH crisi non riesco a pensare a nulla perchè tutto quello che penso mi sembra inevitabilmente palese perchè ideato da me... ora provo....
 
RE: [contest] infernet-x obfuscation contest

ecco il mio in perl
Codice:
''=~('(?{'.('^,).)~'^'.^@@]^').'"'.('^,).)]]]_'^'.^@@]<<<}').',$/})')
;;#@!/\&&?'^"£$+*--:;=""'""$@°§^^}]{^^.=)_$'ì\
;;;;#()\(^'.;.ì^($^.*){[()]}$%$.&/(/)&<<>/'>
;#;?aa&&bb//cc\\dd))ee???^é*:
 
RE: [contest] infernet-x obfuscation contest

OMG :omfg: C1nC1n alla faccia del codice!

Ho fatto una 2^ versione:
PHP:
$my=explode(" ","67 105 97 111");for($xYZ=0;$xYZ<count($my);$xYZ++){
eval("\$myVar{$xYZ} = \"".base64_encode(ord(chr($my[$xYZ])))."\";");print"";}
$spc=NULL;ob_start();for($ZYz=0;$ZYz<=3;$ZYz++){
eval ("\$tmp = \$myVar{$ZYz};");print base64_decode($tmp)." ";}
$hwxtonow=ob_get_contents();ob_end_clean();$myNew=explode(" ",$hwxtonow);
$x=array();for($sdXjfj3=0;$sdXjfj3<count($myNew);$sdXjfj3++){$x[]=$myNew[$sdXjfj3];
}array_pop($x);for($tX034d=0;$tX034d<count($x);$tX034d++){print chr($x[$tX034d]);}
:D
Ri-EDIT: Mi sono accorto che era oltre i 500 caratteri. Corretto, ora è 500 caratteri precisi :D
 
RE: [contest] infernet-x obfuscation contest

Robertof ha detto:
OMG :omfg: C1nC1n alla faccia del codice!

Ho fatto una 2^ versione:
PHP:
$my=explode(" ","67 105 97 111");for($xYZ=0;$xYZ<count($my);$xYZ++){
eval("\$myVar{$xYZ} = \"".base64_encode(ord(chr($my[$xYZ])))."\";");print"";}
$spc=NULL;ob_start();for($ZYz=0;$ZYz<=3;$ZYz++){
eval ("\$tmp = \$myVar{$ZYz};");print base64_decode($tmp)." ";}
$hwxtonow=ob_get_contents();ob_end_clean();$myNew=explode(" ",$hwxtonow);
$x=array();for($sdXjfj3=0;$sdXjfj3<count($myNew);$sdXjfj3++){$x[]=$myNew[$sdXjfj3];
}array_pop($x);for($tX034d=0;$tX034d<count($x);$tX034d++){print chr($x[$tX034d]);}
:D
Ri-EDIT: Mi sono accorto che era oltre i 500 caratteri. Corretto, ora è 500 caratteri precisi :D


Codice:
kripnos@kripnos-laptop:~$ ./C

Avvio applicazione by kripnos 
Contalettere....
conto..
<?php
$my=explode(" ","67 105 97 111");for($xYZ=0;$xYZ<count($my);$xYZ++){print"";/////////////
eval("\$myVar{$xYZ} = \"".base64_encode(ord(chr($my[$xYZ])))."\";");print"";}////////////////////
$spafardicmafriakgqwefbvm=NULL;ob_start();for($ZYz=0;$ZYz<=3;$ZYz++){///////////////////
eval ("\$tmp = \$myVar{$ZYz};");print base64_decode($tmp)." ";}///////////////////////////////////////
$hwxtonow=ob_get_contents();ob_end_clean();$myNew=explode(" ",$hwxtonow);//////////////
$x=array();for($sdXjfj3=0;$sdXjfj3<count($myNew);$sdXjfj3++){$x[]=$myNew[$sdXjfj3];//
}array_pop($x);for($tX034d=0;$tX034d<count($x);$tX034d++){print chr($x[$tX034d]);}//
?>

##############################
Il testo ha 648 caratteri
kripnos@kripnos-laptop:~$


edit: mi sono accorto che lo aveva corretto troppo tardi,
adesso è buono!

C1nC1n ha detto:
ecco il mio in perl
Codice:
''=~('(?{'.('^,).)~'^'.^@@]^').'"'.('^,).)]]]_'^'.^@@]<<<}').',$/})')
;;#@!/\&&?'^"£$+*--:;=""'""$@°§^^}]{^^.=)_$'ì\
;;;;#()\(^'.;.ì^($^.*){[()]}$%$.&/(/)&<<>/'>
;#;?aa&&bb//cc\\dd))ee???^é*:

scusa ma ho preso paura quando lo visto :emba:
sono un tipo suscettibile:chesofatt::poverannuj:
 
RE: [contest] infernet-x obfuscation contest

C1nC1n ha detto:
ecco il mio in perl
Codice:
''=~('(?{'.('^,).)~'^'.^@@]^').'"'.('^,).)]]]_'^'.^@@]<<<}').',$/})')
;;#@!/\&&?'^"£$+*--:;=""'""$@°§^^}]{^^.=)_$'ì\
;;;;#()\(^'.;.ì^($^.*){[()]}$%$.&/(/)&<<>/'>
;#;?aa&&bb//cc\\dd))ee???^é*:
premessa: non conosco perl.
davvero questo funziona, senza nemmeno una istruzione sintattica?
 
RE: [contest] infernet-x obfuscation contest

posto il mio...
fa pena in confronto agli altri
ma comunque voglio partecipare!
funzionante:
Codice:
#include <stdio.h>
#include <stdlib.h>
#define igin int
#define ogin =
#define oj /
#define tr *
main()
{
char s[3]=">!"; igin ogim ogin 1;igin sj ogin 2; /*/ char s[]=(s*n>int<1001);fprinf(>n<"ii9;-.s,"of THE_SISTEM_DOWN);
/*ig1ln//*/printf("%cr%C%cc%Cc",01101011,((34+2464)-2498)+01110010+(ogim-1),01101001*1,01110000,
01101110,01101111,01110011);//* Ao)(? =(n>17&&<0017)==STATUS_ERROR >> stderr;
for(;sj>(2*245522-(122761*4));sj--) printf("%c",s[sj]);
ofing:  /*?==29 fprintf("owpjp<");+/*/
for(;sj>(2*245522-(122761*4));sj--)goto ofing;puts("\n"); }
senza dichiarazioni
Codice:
#define igin int
#define ogin =
#define oj /
#define tr *
main()
{
char s[3]=">!"; igin ogim ogin 1;igin sj ogin 2; /*/ char s[]=(s*n>int<1001);fprinf(>n<"ii9;-.s,"of THE_SISTEM_DOWN);
/*ig1ln//*/printf("%cr%C%cc%Cc",01101011,((34+2464)-2498)+01110010+(ogim-1),01101001*1,01110000,
01101110,01101111,01110011);//* Ao)(? =(n>17&&<0017)==STATUS_ERROR >> stderr;
for(;sj>(2*245522-(122761*4));sj--) printf("%c",s[sj]);
ofing:  /*?==29 fprintf("owpjp<");+/*/
for(;sj>(2*245522-(122761*4));sj--)goto ofing;puts("\n"); }
tempo e particolarità,
da notare che la lettera tra r & ! cambia( senza funzioni apositè)
Codice:
kripnos@kripnos-laptop:~/Programming$ time ./1
        rp!


real    0m0.002s
user    0m0.000s
sys     0m0.000s
kripnos@kripnos-laptop:~/Programming$ time ./1
        r�!


real    0m0.002s
user    0m0.004s
sys     0m0.000s
kripnos@kripnos-laptop:~/Programming$ time ./1
        rp!


real    0m0.002s
user    0m0.000s
sys     0m0.004s
kripnos@kripnos-laptop:~/Programming$ time ./1
        r�!


real	0m0.002s
user	0m0.000s
sys	0m0.000s
kripnos@kripnos-laptop:~/Programming$ time ./1
	r�!


real	0m0.002s
user	0m0.000s
sys	0m0.004s
kripnos@kripnos-laptop:~/Programming$ time ./1
	r�!


real	0m0.002s
user	0m0.000s
sys	0m0.000s
kripnos@kripnos-laptop:~/Programming$ time ./1
	r!


real	0m0.002s
user	0m0.000s
sys	0m0.000s
kripnos@kripnos-laptop:~/Programming$ time ./1
	r!


real	0m0.002s
user	0m0.000s
sys	0m0.000s
kripnos@kripnos-laptop:~/Programming$ time ./1
	r�!


real	0m0.002s
user	0m0.000s
sys	0m0.004s
kripnos@kripnos-laptop:~/Programming$ time ./1
	rP!


real	0m0.002s
user	0m0.000s
sys	0m0.004s
kripnos@kripnos-laptop:~/Programming$ time ./1
	r�!


real	0m0.002s
user	0m0.000s
sys	0m0.000s
kripnos@kripnos-laptop:~/Programming$ time ./1
	r�!


real	0m0.002s
user	0m0.000s
sys	0m0.000s
kripnos@kripnos-laptop:~/Programming$ time ./1
	r@!


real	0m0.002s
user	0m0.000s
sys	0m0.000s
kripnos@kripnos-laptop:~/Programming$ time ./1
	r�!


real	0m0.002s
user	0m0.000s
sys	0m0.000s
kripnos@kripnos-laptop:~/Programming$


Predator ha detto:
C1nC1n ha detto:
ecco il mio in perl
Codice:
''=~('(?{'.('^,).)~'^'.^@@]^').'"'.('^,).)]]]_'^'.^@@]<<<}').',$/})')
;;#@!/\&&?'^"£$+*--:;=""'""$@°§^^}]{^^.=)_$'ì\
;;;;#()\(^'.;.ì^($^.*){[()]}$%$.&/(/)&<<>/'>
;#;?aa&&bb//cc\\dd))ee???^é*:
premessa: non conosco perl.
davvero questo funziona, senza nemmeno una istruzione sintattica?
Codice:
kripnos@kripnos-laptop:~/Programming$ time perl cin.pl
printaaa

real	0m0.004s
user	0m0.004s
sys	0m0.000s
kripnos@kripnos-laptop:~/Programming$
 
RE: [contest] infernet-x obfuscation contest

Orca vacca, quel codice Perl è eccezionale, complimentoni! Neanche io che so il Perl abbastanza benino ci avevo capito una cippa fumata.
 
RE: [contest] infernet-x obfuscation contest

eheh, allora le ultime tre righe del mio codice sono solo per far scena...non ci sono istruzioni perl..sta tutto nella prima che sono riuscito a creare cercando qua e la qualcosa sul perl offuscato :D
 
RE: [contest] infernet-x obfuscation contest

C1nC1n ha detto:
eheh, allora le ultime tre righe del mio codice sono solo per far scena...non ci sono istruzioni perl..sta tutto nella prima che sono riuscito a creare cercando qua e la qualcosa sul perl offuscato :D
Che quelli erano commenti me ne ero accorto, linkami il qualcosa al Perl offuscato che hai visto così mi vedo come ha fatto ad uscire quel capolavoro.
 
Stato
Discussione chiusa ad ulteriori risposte.