Affichage des articles dont le libellé est saikodig. Afficher tous les articles
Affichage des articles dont le libellé est saikodig. Afficher tous les articles

vendredi 24 juillet 2015

With code obfuscation coding can't get any scarier !

Just when you think you have mastered a programming language or two, something called code obfuscation comes hunting you down! With code obfuscation I promise you that coding can't get any scarier. Here's an example that obfuscates a simple "Hello World!" code into this:

       
char*_ = "'""/*";

#include <stdio.h>

#define m 21

#define o(l, k) for(l=0; l<k; l++)

#define n(k) o(T, k)





              int E,L,O,R,G[42][m],h[2][42][m],g[3][8],c

              [42][42][2],f[42]; char d[42]; void v( int

              b,int a,int j){ printf("\33[%d;%df\33[4%d"

              "m  ",a,b,j); } void u(){ int T,e; n(42)o(

              e,m)if(h[0][T][e]-h[1][T][e]){ v(e+4+e,T+2

              ,h[0][T][e]+1?h[0][T][e]:0); h[1][T][e]=h[

              0][T][e]; } fflush(stdout); } void q(int l

                            ,int k,int p){

                            int T,e,a; L=0

                            ; O=1; while(O

                            ){ n(4&&L){ e=

                            k+c[l] [T][0];

                            h[0][L-1+c[l][

                            T][1]][p?20-e:

e]=-1; } n(4){                                          e=k+c[l][T][0]; a=L+c[l][T][

1]+1; if(a==42                                          || h[0][a][p?20-e:e]+1){ O=0

; } } n(4){ e=                                          k+c[l][T][0]; h[0][L + c[l][

T][1]][p?20-e:                                          e]=g[1][f[p?19+l:l]]; } L++;

u(); } n(42) {                                          o(e,m)if(h[0][T][e]<0)break;

o(a, m&&e==m){                                          for(L=T; L; L--) { h[0][L][a

]=h[0][L-1] [a                                          ]; } h[0][0][a]=-1; } } u();

}int main(){ int T,e,t,r,i,s              ,D,V,K; printf("\33[2J\33[?25l"); n(8)g[i=

1][T]=7-T; R--; n(42) o(e,m)              G[T][e]--; while(fgets(d,42,stdin)) { r=++

R; n(17){ e=d[T]-48; d[T]=0;              if ((e&7)==e) { g[0][e] ++; G[R][T+2]=e; }

} } n(8)if(g[0][7-T]){ t=g[i              ][O]; g[i][O++]=g[i][T]; g[i][T]=t; } n(8)

g[2][g[i][T]]=T; n(R+i)o(e,m              )if(G[T][e]+i) G[T][e]=g[2][G[T][e]]; n(19

)o(t,2){ f[T+t+T]=(T["+%#,4"              "5>GP9$5-,#C?NX"]-35)>>t*3&7; o(e,4){ c[T]

[e][t]=("5'<$=$8)Ih$=h9i8'9"              "t=)83)l4(99(g9>##>4(" [T+t+T]-35)>>e*2&3;

} } n(15) { s=T>9?m:(T&3)-3?15:36;o(e,s)o(t,2)c[T+19][e][t]="6*6,8*6.608.6264826668\

865::(+;0(6+6-6/8,61638065678469.;88))()3(6,8*6.608.6264826668865:+;4)-*6-6/616365,\

-6715690.5;,89,81+,(023096/:40(8-7751)2)65;695(855(+*8)+;4**+4(((6.608.626482666886\

5:+;4+4)0(8)6/61638065678469.;88)-4,4*8+4(((60(/6264826668865:+;4-616365676993-9:54\

+-14).;./347.+18*):1;-*0-975/)936.+:4*,80987(887(0(*)4.*""/4,4*8+4(((6264826668865:\

+;4/4-4+8-4)0(8)6365678469.;88)1/(6*6,6.60626466686:8)8-8*818.8582/9863(+;/""*6,6.6\

0626466686:4(8)8-8*818.8582/9863(+;/,6.60626466686:8-818.8582/9864*4+4(0())+;/.6062\

6466686:8/8380/7844,4-4*4+4(0())69+;/0626466686:818582/9864.4/4,4-4*4+4(0())+;" [e+E

+e+t]-40; E+=s+s; } n(45){ if(T>i) { v(2,T,7); v(46,T,7); } v(2+T,44,7); } T=0; o(e,

42)o(t,m)h[T][e][t]--; while(R+i) { s = D=0; if (r-R) { n(19) if (G[R+i][T]+i) V=T/2

; else if(G[R][T]+i) s++; if(s) { if(V>4){ V=9-V; D++; } V+=29; n(20) q(c[V][T][0],c

[V][T][i],D); } } n(19) if((L=G[R][T])+i) { O=T-L; e=O>9; t=e?18-O :O; o(K,((t&3)-3?

16:37)){ if(K){ L=c[t+19][K-i][0]; O=c[t+19][K-i][i] ; } q(L,O,K && e); } } if(s) q(

c[V][20][0], c[V][20][i], D); R--; } printf("\33[47;1f\33[?25h\33[40m"); return 0; }


For more mind blowing codes, check the official web site of the international obfuscated C code contest : http://www.ioccc.org/