• # euuuu c'est super mais ...

    Posté par . En réponse à la dépêche DeCSS encore plus petit en C qu'en Perl. Évalué à 0.

    je trouves ca trop exelent mais ...
    vous n'êtes pas capable de faire un copié/collé sur linuxfr ?

    voila le code correct et mis en page:

    /* efdtt.c Author: Charles M. Hannum <root@ihack.net> */
    /* */
    /* Usage is: cat title-key scrambled.vob | efdtt >clear.vob */

    #define K(i)(x[i]^s[i+84])<<
    unsigned char x[5],
    y,
    z,
    s[2048];
    main(n)
    {
    for(
    read(0, x, 5);
    read(0, s, n=2048);
    write(1, s, n)
    )

    if(s[y=s[13]%8+20]/16%4==1)
    {
    int i=K(1)17^256+K(0)8,
    k=K(2)0,
    j=K(4)17^K(3)9^k*2-k%8^8,
    a=0,
    b=0,
    c=26;

    for(s[y]-=16; --c; i/=2,j/=2)
    a=a*2^i&1,
    b=b*2^j&1;

    for(j=127; ++j<n; c=z+c>y)
    a^=a>>14,
    a=a>>8^(y=a^a*8^a<<6)<<9,
    b=b>>8^(z=b^b/8^b>>4^b>>12)<<17,
    i=s[j],
    i="7Wo~'G_216円"[i&7]+2^"cr3sfw6v;*k+>/n."[i>>4]*2^i*257/8,
    s[j]=i^(i&i*2&34)*6^z+c+~y;
    }
    }


    j'ai testé et ca marche ... en fait on devrait même pouvoir lire un dvd en faisant cat title-key scrambled.vob | efdtt | "playermpg2"

    mais j'ai pas testé.

    c'est vrai qu'en lisant le code non mis en forme ca parrais (comme pour le perl) incompréhensible mais une fois mis en forme c'est assez simple (tout est relatif ;) en tout cas chapeau Mr Charles M. Hannum c'est impressionnant !!!

    Le Fennec Keepu