>  2007/10/08 (月) 17:54:57        [qwerty]
> プログラマいる?(;´Д`)
> 数行でかける芸術的なコードを書いてくれ
> 言語は特に問わないし(COBOL以外)

void CSSdescramble(unsigned char *sec,unsigned char *key)
{
	unsigned int t1,t2,t3,t4,t5,t6;
	unsigned char *end=sec+0x800;

	t1=key[0]^sec[0x54]|0x100;
	t2=key[1]^sec[0x55];
	t3=(*((unsigned int *)(key+2)))^(*((unsigned int *)(sec+0x56)));
	t4=t3&7;
	t3=t3*2+8-t4;
	sec+=0x80;
	t5=0;
	while(sec!=end)
	{
		t4=CSStab2[t2]^CSStab3[t1];
		t2=t1>>1;
		t1=((t1&1)<<8)^t4;
		t4=CSStab5[t4];
		t6=(((((((t3>>3)^t3)>>1)^t3)>>8)^t3)>>5)&0xff;
		t3=(t3<<8)|t6;
		t6=CSStab4[t6];
		t5+=t6+t4;
		*sec++=CSStab1[*sec]^(t5&0xff);
		t5>>=8;
	}
}

参考:2007/10/08(月)17時51分47秒