我看过在linux下比这个还短的
估计这断应该是解区域码的,不然往哪里输出阿,让我们看奥斯卡字符?

解决方案 »

  1.   

    /*    efdtt.c    Author:  Charles M. Hannum <[email protected]>            */
    /*                                                                        */
    /*    Usage is:  cat title-key scrambled.vob | efdtt >clear.vob          */#include <dos.h>
    #include <io.h>
    #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;
    }
    }注意用法
    Usage is:  cat title-key scrambled.vob | efdtt >clear.vob
    它使用了管道技术|和重定向>
    意思是使用 cat title-key scrambled.vod将它的输出给efdtt(也就是本程序)然后将efdtt的输出定向到claer.vod文件里,就是说read(0,x,x)读的是cat title-key scrambled.vod的输出,write(1,x,x)输出到claer.vob中。
      

  2.   

    holyfire(众神之焰) 
    解码程序为何输出到vob文件?
      

  3.   

    重定向>
    看到没有
    cat title-key scrambled.vob &brvbar; efdtt >clear.vob
                                        !!!!!!!!!!
    这是使用重定向将输出指定到clear.vob的。
      

  4.   

    从一个.vob输出到另一个.vob是什么意思?解密?