Doom9 Italia
https://forum.doom9.it/

Algoritmo DeCSS
https://forum.doom9.it/viewtopic.php?t=10698
Pagina 2 di 2

Autore:  ILM-Sat [ venerdì 8 aprile 2005, 9:20 ]
Oggetto del messaggio: 

Magnifico! Volevo svilupparlo in Java ma me lo adatto grazie...una sola domanda. Dove hai reperito tutte queste info?

Autore:  Pivello [ venerdì 8 aprile 2005, 9:31 ]
Oggetto del messaggio: 

Fanno parte del mio database privato di "Tips & Tricks" per la programmazione.

Ti do la versione Java: (parte 1, dalla cima del sorgente in poi)
Codice:
//==============================================================================
//==============================================================================
//
//  Title:        JDeCSS
//  Version:      1.0
//  Description:  Java implementation of DeCSS.
//
//==============================================================================
//==============================================================================

package JDeCSS;

import java.io.*;

//==============================================================================
//==============================================================================
//
//  Class   :   JDeCSS
//
//  Description
//  -----------
/**
 *  This class contains methods for descrambling CSS content from a DVD.
 */
//==============================================================================
//==============================================================================

public class JDeCSS
{
    //==========================================================================
    //  Class variables
    //==========================================================================

    private static final int CSStab0[] = {5,0,1,2,3,4,0,1,2,3,4};

    private static final int CSStab1[]=
    {
	    0x33,0x73,0x3b,0x26,0x63,0x23,0x6b,0x76,0x3e,0x7e,0x36,0x2b,0x6e,0x2e,0x66,0x7b,
	    0xd3,0x93,0xdb,0x06,0x43,0x03,0x4b,0x96,0xde,0x9e,0xd6,0x0b,0x4e,0x0e,0x46,0x9b,
	    0x57,0x17,0x5f,0x82,0xc7,0x87,0xcf,0x12,0x5a,0x1a,0x52,0x8f,0xca,0x8a,0xc2,0x1f,
	    0xd9,0x99,0xd1,0x00,0x49,0x09,0x41,0x90,0xd8,0x98,0xd0,0x01,0x48,0x08,0x40,0x91,
	    0x3d,0x7d,0x35,0x24,0x6d,0x2d,0x65,0x74,0x3c,0x7c,0x34,0x25,0x6c,0x2c,0x64,0x75,
	    0xdd,0x9d,0xd5,0x04,0x4d,0x0d,0x45,0x94,0xdc,0x9c,0xd4,0x05,0x4c,0x0c,0x44,0x95,
	    0x59,0x19,0x51,0x80,0xc9,0x89,0xc1,0x10,0x58,0x18,0x50,0x81,0xc8,0x88,0xc0,0x11,
	    0xd7,0x97,0xdf,0x02,0x47,0x07,0x4f,0x92,0xda,0x9a,0xd2,0x0f,0x4a,0x0a,0x42,0x9f,
	    0x53,0x13,0x5b,0x86,0xc3,0x83,0xcb,0x16,0x5e,0x1e,0x56,0x8b,0xce,0x8e,0xc6,0x1b,
	    0xb3,0xf3,0xbb,0xa6,0xe3,0xa3,0xeb,0xf6,0xbe,0xfe,0xb6,0xab,0xee,0xae,0xe6,0xfb,
	    0x37,0x77,0x3f,0x22,0x67,0x27,0x6f,0x72,0x3a,0x7a,0x32,0x2f,0x6a,0x2a,0x62,0x7f,
	    0xb9,0xf9,0xb1,0xa0,0xe9,0xa9,0xe1,0xf0,0xb8,0xf8,0xb0,0xa1,0xe8,0xa8,0xe0,0xf1,
	    0x5d,0x1d,0x55,0x84,0xcd,0x8d,0xc5,0x14,0x5c,0x1c,0x54,0x85,0xcc,0x8c,0xc4,0x15,
	    0xbd,0xfd,0xb5,0xa4,0xed,0xad,0xe5,0xf4,0xbc,0xfc,0xb4,0xa5,0xec,0xac,0xe4,0xf5,
	    0x39,0x79,0x31,0x20,0x69,0x29,0x61,0x70,0x38,0x78,0x30,0x21,0x68,0x28,0x60,0x71,
	    0xb7,0xf7,0xbf,0xa2,0xe7,0xa7,0xef,0xf2,0xba,0xfa,0xb2,0xaf,0xea,0xaa,0xe2,0xff
    };

    private static final int CSStab2[]=
    {
	    0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x09,0x08,0x0b,0x0a,0x0d,0x0c,0x0f,0x0e,
	    0x12,0x13,0x10,0x11,0x16,0x17,0x14,0x15,0x1b,0x1a,0x19,0x18,0x1f,0x1e,0x1d,0x1c,
	    0x24,0x25,0x26,0x27,0x20,0x21,0x22,0x23,0x2d,0x2c,0x2f,0x2e,0x29,0x28,0x2b,0x2a,
	    0x36,0x37,0x34,0x35,0x32,0x33,0x30,0x31,0x3f,0x3e,0x3d,0x3c,0x3b,0x3a,0x39,0x38,
	    0x49,0x48,0x4b,0x4a,0x4d,0x4c,0x4f,0x4e,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
	    0x5b,0x5a,0x59,0x58,0x5f,0x5e,0x5d,0x5c,0x52,0x53,0x50,0x51,0x56,0x57,0x54,0x55,
	    0x6d,0x6c,0x6f,0x6e,0x69,0x68,0x6b,0x6a,0x64,0x65,0x66,0x67,0x60,0x61,0x62,0x63,
	    0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x76,0x77,0x74,0x75,0x72,0x73,0x70,0x71,
	    0x92,0x93,0x90,0x91,0x96,0x97,0x94,0x95,0x9b,0x9a,0x99,0x98,0x9f,0x9e,0x9d,0x9c,
	    0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x89,0x88,0x8b,0x8a,0x8d,0x8c,0x8f,0x8e,
	    0xb6,0xb7,0xb4,0xb5,0xb2,0xb3,0xb0,0xb1,0xbf,0xbe,0xbd,0xbc,0xbb,0xba,0xb9,0xb8,
	    0xa4,0xa5,0xa6,0xa7,0xa0,0xa1,0xa2,0xa3,0xad,0xac,0xaf,0xae,0xa9,0xa8,0xab,0xaa,
	    0xdb,0xda,0xd9,0xd8,0xdf,0xde,0xdd,0xdc,0xd2,0xd3,0xd0,0xd1,0xd6,0xd7,0xd4,0xd5,
	    0xc9,0xc8,0xcb,0xca,0xcd,0xcc,0xcf,0xce,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
	    0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf6,0xf7,0xf4,0xf5,0xf2,0xf3,0xf0,0xf1,
	    0xed,0xec,0xef,0xee,0xe9,0xe8,0xeb,0xea,0xe4,0xe5,0xe6,0xe7,0xe0,0xe1,0xe2,0xe3
    };

    private static final int CSStab3[]=
    {
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff
    };

    private static final int CSStab4[]=
    {
	    0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90,0x50,0xd0,0x30,0xb0,0x70,0xf0,
	    0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98,0x58,0xd8,0x38,0xb8,0x78,0xf8,
	    0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94,0x54,0xd4,0x34,0xb4,0x74,0xf4,
	    0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c,0x5c,0xdc,0x3c,0xbc,0x7c,0xfc,
	    0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92,0x52,0xd2,0x32,0xb2,0x72,0xf2,
	    0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a,0x5a,0xda,0x3a,0xba,0x7a,0xfa,
	    0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96,0x56,0xd6,0x36,0xb6,0x76,0xf6,
	    0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e,0x5e,0xde,0x3e,0xbe,0x7e,0xfe,
	    0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91,0x51,0xd1,0x31,0xb1,0x71,0xf1,
	    0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99,0x59,0xd9,0x39,0xb9,0x79,0xf9,
	    0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95,0x55,0xd5,0x35,0xb5,0x75,0xf5,
	    0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d,0x5d,0xdd,0x3d,0xbd,0x7d,0xfd,
	    0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93,0x53,0xd3,0x33,0xb3,0x73,0xf3,
	    0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b,0x5b,0xdb,0x3b,0xbb,0x7b,0xfb,
	    0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97,0x57,0xd7,0x37,0xb7,0x77,0xf7,
	    0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f,0x5f,0xdf,0x3f,0xbf,0x7f,0xff
    };

    private static final int CSStab5[]=
    {
	    0xff,0x7f,0xbf,0x3f,0xdf,0x5f,0x9f,0x1f,0xef,0x6f,0xaf,0x2f,0xcf,0x4f,0x8f,0x0f,
	    0xf7,0x77,0xb7,0x37,0xd7,0x57,0x97,0x17,0xe7,0x67,0xa7,0x27,0xc7,0x47,0x87,0x07,
	    0xfb,0x7b,0xbb,0x3b,0xdb,0x5b,0x9b,0x1b,0xeb,0x6b,0xab,0x2b,0xcb,0x4b,0x8b,0x0b,
	    0xf3,0x73,0xb3,0x33,0xd3,0x53,0x93,0x13,0xe3,0x63,0xa3,0x23,0xc3,0x43,0x83,0x03,
	    0xfd,0x7d,0xbd,0x3d,0xdd,0x5d,0x9d,0x1d,0xed,0x6d,0xad,0x2d,0xcd,0x4d,0x8d,0x0d,
	    0xf5,0x75,0xb5,0x35,0xd5,0x55,0x95,0x15,0xe5,0x65,0xa5,0x25,0xc5,0x45,0x85,0x05,
	    0xf9,0x79,0xb9,0x39,0xd9,0x59,0x99,0x19,0xe9,0x69,0xa9,0x29,0xc9,0x49,0x89,0x09,
	    0xf1,0x71,0xb1,0x31,0xd1,0x51,0x91,0x11,0xe1,0x61,0xa1,0x21,0xc1,0x41,0x81,0x01,
	    0xfe,0x7e,0xbe,0x3e,0xde,0x5e,0x9e,0x1e,0xee,0x6e,0xae,0x2e,0xce,0x4e,0x8e,0x0e,
	    0xf6,0x76,0xb6,0x36,0xd6,0x56,0x96,0x16,0xe6,0x66,0xa6,0x26,0xc6,0x46,0x86,0x06,
	    0xfa,0x7a,0xba,0x3a,0xda,0x5a,0x9a,0x1a,0xea,0x6a,0xaa,0x2a,0xca,0x4a,0x8a,0x0a,
	    0xf2,0x72,0xb2,0x32,0xd2,0x52,0x92,0x12,0xe2,0x62,0xa2,0x22,0xc2,0x42,0x82,0x02,
	    0xfc,0x7c,0xbc,0x3c,0xdc,0x5c,0x9c,0x1c,0xec,0x6c,0xac,0x2c,0xcc,0x4c,0x8c,0x0c,
	    0xf4,0x74,0xb4,0x34,0xd4,0x54,0x94,0x14,0xe4,0x64,0xa4,0x24,0xc4,0x44,0x84,0x04,
	    0xf8,0x78,0xb8,0x38,0xd8,0x58,0x98,0x18,0xe8,0x68,0xa8,0x28,0xc8,0x48,0x88,0x08,
	    0xf0,0x70,0xb0,0x30,0xd0,0x50,0x90,0x10,0xe0,0x60,0xa0,0x20,0xc0,0x40,0x80,0x00
    };

Autore:  Pivello [ venerdì 8 aprile 2005, 9:33 ]
Oggetto del messaggio: 

Parte 2:
Codice:
    //==========================================================================
    //==========================================================================
    //
    //  Method  :   JDeCSS
    //
    //  Class   :   JDeCSS
    //
    //  Description
    //  -----------
    /**
     *  The constructor.
     *
     */
    //==========================================================================
    //==========================================================================

    public JDeCSS
    (
        // void
    )
    {
        // empty constructor
    }

    //==========================================================================
    //==========================================================================
    //
    //  Method  :   main
    //
    //  Class   :   JDeCSS
    //
    //  Description
    //  -----------
    /**
     *  Main method.
     *
     *  @param   args   command line arguments.
     */
    //==========================================================================
    //==========================================================================

    public static void main(String[] args)
    {
        //======================================================================
        // Variable declarations.
        //======================================================================

        long                    startTime   = 0;
        long                    endTime     = 0;
        int[]                   key         = new int[5];
        File                    inVob       = null;
        File                    outVob      = null;
        JDeCSS                  jDeCSS      = null;
        FileInputStream         fis         = null;
        FileOutputStream        fos         = null;
        DataInputStream         dis         = null;
        DataOutputStream        dos         = null;
        BufferedInputStream     bis         = null;
        BufferedOutputStream    bos         = null;
        byte[]                  bSec        = new byte[2048];
        int[]                   sec         = new int[2048];
        long                    fileSize    = 0;
        long                    bytesRead   = 0;
        int                     b           = 0;
        int                     count       = 0;

        //======================================================================
        //  initialise
        //======================================================================

        if (args.length != 7)
        {
            System.out.println("Wrong arguments!");
        }

        for (int i = 0; i < 5; i++)
        {
            key[i] = Integer.parseInt(args[i], 16);
        }

        inVob = new File(args[5]);
        outVob = new File(args[6]);

        jDeCSS = new JDeCSS();

        //======================================================================
        //  main
        //======================================================================

        startTime = System.currentTimeMillis();

        try
        {
            fis = new FileInputStream(inVob);
            fos = new FileOutputStream(outVob);
            bis = new BufferedInputStream(fis);
            bos = new BufferedOutputStream(fos);
            dis = new DataInputStream(bis);
            dos = new DataOutputStream(bos);

            fileSize = inVob.length();

            while (bytesRead != fileSize)
            {
                b = dis.readUnsignedByte();
                sec[count++] = b;
                bytesRead++;

                if (count == 2048)
                {
                    count = 0;

                    if ((sec[0x14] & 0x30) > 0x00 ) // PES scrambling control
                    {
                        sec = jDeCSS.CSSdescramble(sec, key);
                        sec[0x14] &= 0x8F;
                    }

                    for (int i = 0; i < 2048; i++)
                    {
                        dos.writeByte(sec[i]);
                    }
                }
            }

            if (count > 0)
            {
                if ((sec[0x14] & 0x30) > 0x00 ) // PES scrambling control
                {
                    sec = jDeCSS.CSSdescramble(sec, key);
                    sec[0x14] &= 0x8F;
                }

                for (int i = 0; i < count; i++)
                {
                    dos.writeByte(sec[i]);
                }
            }

            dis.close();
            dos.flush();
            dos.close();
        }
        catch (FileNotFoundException fnfe)
        {
            System.out.println(fnfe);
        }
        catch (IOException ioe)
        {
            System.out.println(ioe);
        }

        endTime = System.currentTimeMillis();
        System.out.println("time (sec) = " + (endTime - startTime) / 1000);
    }

    //==========================================================================
    //==========================================================================
    //
    //  Method  :   CSSdescramble
    //
    //  Class   :   JDeCSS
    //
    //  Description
    //  -----------
    /**
     *  This method does the actual descrambling. The key is used to decrypt
     *  the disk sector.
     *
     *  @param  sec     int array (2048) containing an encrypted DVD sector.
     *  @param  key     int array (5) containing 40 bit decrypted title key.
     *  @return         returns the decrypted sector as a int array (2048).
     */
    //==========================================================================
    //==========================================================================

    private final int[] CSSdescramble
    (
        int[] sec,
        int[] key
    )
    {
        //======================================================================
        //  Variable declarations.
        //======================================================================

	    int t1  = 0;
        int t2  = 0;
        int t3  = 0;
        int t4  = 0;
        int t5  = 0;
        int t6  = 0;
        int begin   = 0;    // begin of sector chunk
	    int end = 0x800;    // end of 2048 byte array

        //======================================================================
        //  css descramble
        //======================================================================

	    t1 = key[0] ^ sec[0x54] | 0x100;
	    t2 = key[1] ^ sec[0x55];
        t3= ((key[2]) | (key[3] << 8) | (key[4] << 16)) ^ ((sec[0x56]) | (sec[0x57] << 8) | (sec[0x58] << 16));
	    t4 = t3 & 7;
	    t3 = t3 * 2 + 8 - t4;

        begin = 0x80;   // advance sec by 128 bytes

	    t5 = 0;

        while (begin != 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;

            try
            {
                sec[begin] = CSStab1[sec[begin]] ^ (t5 & 0xff);
            }
            catch (ArrayIndexOutOfBoundsException aioobe)
            {
                System.out.println("begin = " + begin);
                System.out.println("sec[begin] = " + sec[begin]);
                try
                {
                    Thread.sleep(100000);
                }
                catch(Exception e)
                {
                }
            }
            begin++;

		    t5 >>= 8;
	    }

        //======================================================================
        // Method completed successfully.
        //======================================================================

        return sec;
    }
}
Tutto quì.

Ciao
Pivello

Autore:  ILM-Sat [ venerdì 8 aprile 2005, 9:57 ]
Oggetto del messaggio: 

Beh che dire se non STRAGRAZIE! :D :D :D

Autore:  Mauriziosat [ venerdì 8 aprile 2005, 14:09 ]
Oggetto del messaggio: 

VOLEVO SCUSARMI

ho letto " voglio implementare il CSS " al posto del DE-CSS................aaaaa arriva la vecchiaia :oops: :oops:

però PIVELLO sei una fonte incredibile

complimenti

Autore:  nullstuff [ venerdì 8 aprile 2005, 16:24 ]
Oggetto del messaggio: 

http://hem.bredband.net/tord/decss/css-auth_tar.gz

Autore:  ILM-Sat [ venerdì 8 aprile 2005, 18:12 ]
Oggetto del messaggio: 

Cita:
VOLEVO SCUSARMI

ho letto " voglio implementare il CSS " al posto del DE-CSS................aaaaa arriva la vecchiaia
Nessun problema...cosa vuoi che sia :wink:

Autore:  nullstuff [ sabato 9 aprile 2005, 9:32 ]
Oggetto del messaggio: 

...il decss è stato anche stampato su una t-shirt da COPYLEFT --- il sito è stato chiuso alla fine del 2004, ma è ancora visitabile tramite wayback: http://web.archive.org/web/200410091833 ... ront.phtml

Allegati:
full_273_back.jpg
full_273_back.jpg [ 69.26 KiB | Visto 6049 volte ]

Autore:  Pivello [ sabato 9 aprile 2005, 9:55 ]
Oggetto del messaggio: 

Molti dei siti che contenevano info sul CSS e sui metodi di decrypting sono stati chiusi l'anno scorso... fortunatamente ho raccolto molto materiale sull'argomento, prima delle chiusure, per il mio archivio personale (mi interesso di programmazione); nel caso servano a qualcuno ho anche esempi in Delphi, VBscript, Perl, SML, Javascript, Scheme, Java, PHP e hardware implementation in Verilog.

Ciao
Pivello

Autore:  Robinud [ lunedì 11 aprile 2005, 8:42 ]
Oggetto del messaggio: 

ciao Pivello,
uso prevalentemente VB, e vista la mia passione generalizzata per la programmazione, ti sarei grato se posti il codice VB (o comunque un link per poterlo reperire), anche se conosco pochino il C, sarei troppo pigro (la vecchiaia incombe) o forse non del tutto capace, per fare una conversione :)
grazie in anticipo

Pagina 2 di 2 Tutti gli orari sono UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/