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 !!!
# euuuu c'est super mais ...
Posté par Anonyme . En réponse à la dépêche DeCSS encore plus petit en C qu'en Perl. Évalué à 0.
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