Desprotegiendo lo protegido (2)

Bueno, aquí estamos otra vez. Replanteando el tema que dejamos en el artículo anterior. Ya lo profetizaba jiXo, cuando dijo que estos artículos traerían polémica. El hecho es que a las pocas horas de estar actualizada la página recibi 11 e-mails, de diferentes personas, unas apoyando y otras acordándose de familiares. En fín, para ser justos he de decir que la información NO es privilegio de unos pocos y si queremos ser más igualitarios debemos aportar los conocimientos o experiencias que hayamos adquirido con el tiempo (el curso de ciberfilosofía por correspondencia me sirvió para algo :-)) para que de esa manera TODOS podamos progresar.

Intentaré utilizar un lenguaje lo más simple posible para que todos podamos comprenderlo. Aquellas personas más técnicas disculpad algún error.

En fín, después de esta declaración de principios vamos al grano. En el capítulo anterior nos quedamos copiando un cd que estaba protegido con 2 pistas erroneas. El tema de trabajo de hoy serán aquellos cd's que además de la pista de datos tienen una o más pistas de audio. Aunque aviso, quizás sea un poco más complicado porque tenemos que hacer muchos cálculos si queremos que la copia sea lo más exacta (o idéntica) del original.


TEORIA

Esta vez si vamos a tener que desarrollar un poco más la teorica para que se comprenda mejor la práctica. Vamos a ello.

Las pistas que se graban en un cd deben seguir una serie de normas para que sea reconocido como tal, esto es, todas las pistas tienen que contener al menos 2 segundos de "sincronización" al principio de cada pista, tambien son conocidos con el nombre de índices.

La primera pista del cd ya contiene de por si estos 2 segundos (el grabador lo realiza diréctamente) para posicionar cual es el comienzo de la pista de datos. Seguro que estais preguntando ¿Entonces dónde comienza el cd?, pues aunque vosotros le digais al ordenador que comienze a leer desde el sector 0, se refiere al comienzo de la pista de datos, pero no al comienzo en si del cd. De todas maneras estos primeros segundos no son relevantes puesto que no podemos acceder a ellos, (mucha gente al principio pensaba que la protección de los juegos de playstation podia consistir en que Sony de alguna manera había colocado información en estos 2 primeros segundos que luego comprobaba).

Cuando comienzan las pistas de audio pasa exáctamente lo mismo, entre la pista de datos y las pistas de audio deben existir al menos 2 segundos para la sincronización. Y aqui es donde está el problema, porque estos 2 segundos SI son accesibles y normalmente nos darán errores si intentamos leerlos. Por cierto, estos 2 segundos reciben nombres técnicos. Si están colocados delante de una pista se llaman PREGAP, y si estan colocados al final se llaman POSTGAP.

Este seria el aspecto normal de lo que entendemos por pistas de cd

Imagen


Pero en realidad esta es la configuración de lo que se graba en un cd.

Imagen


(1) Inicio o Pregap de 2 segundos que se genera automaticamente.

(2) Separación o Pregap de 2 segundos que HAY que generar para que el cd sea correcto.

(3) Pregap de 2 segundos, o indices.

(4) Pregap de 2 segundos, o Indices.

los puntos 3 y 4 son diferentes de los 2 primeros. ¿Por Que?, pues simple, ¿Habeis puesto un compact de música y habeis visto como antes de comenzar una canción sale en el display -2, -1, 0, y a continuación empieza la canción?, pues sí, efectivamente, estos son los 2 segundos famosos de sincronización. (A aquellos que hayais tenido problemas grabando compacts de música en directo, con todas las canciones seguidas y teneis saltos, esto os puede interesar).

Aquí es donde tenemos que agudizar el ingenio, porque resulta que nosotros vamos a leer sectores determinados, y tenemos que decirle a nuestro programa exáctamente desde donde hasta donde queremos leer. Pero el problema es que la información que obtenemos de las pistas hace referencia a la longitud TOTAL de la pista, incluidos estos 2 segundos. Esto quiere decir lo siguiente:

Pista 1 = pista de datos + (2)

Pista 2 = Pista de audio1 + (3)

Pista 3 = Pista de audio 2 + (4)

Pista 4 (no nos importa porque es la última)

Así que si queremos coger todo el contenido exacto tendremos que hacer los cálculos para ir diciéndole a nuestro programa qué es lo que debemos extraer.

Más teoría. Cada segundo grabado de información en un cd esta compuesto de 75 bloques o sectores, o sea que nuestros 2 segundos en realidad son 150 sectores de parche.


PRÁCTICA

Bueno, manos a la obra y espero no liaros demasiado. Utilizaremos de nuevo el Cdrwin de Goldenhawk , más papel y otro lápiz (porque seguro que se acabo la ultima vez :-)).

Insertamos nuestro cd y pulsamos sobre Extract Disk/tracks/sectors.

Imagen


Aquí tendremos la información de nuestro compact que tendrá una serie de pistas. Si observais la primera (en verde) es la pista de datos, las siguientes (en rojo) son las pistas de audio, y luego tendremos las famosas pistas que hayan añadido Freelock u otros programas. O sea algo así

Imagen


Pulsaremos con el boton derecho encima de la pista 1 y sobre las pistas de audio y nos saldra una pantalla como esta.

Imagen


Vamos a ir creando una tabla con los datos: ( estos datos son como ejemplo y no los que aparecen en el dibujo)

Imagen


Si observais y siguiendo los datos anteriores el programa os va a mostrar todas las pistas, una detras de otra pero no os indica nada de los indices o sea que ahora es cuando tenemos que hacer unos cuantos cálculos.

Vamos a explicar como sacar el principio, fin y longitud correcta de cada una de las pistas.

Imagen


Si el cd SOLO tuviera 1 pista de audio, entonces el inicio y el fin para esta pista estarian correctos (porque ya le indicaremos los 2 segundos despues).

Si el cd Tiene mas de 1 pista de audio (como es nuestro caso) entonces hacemos calculos:

Imagen


Si habeis observado, el principio de la segunda pista pasa a ser 153274 que es el siguiente sector desde donde ha terminado la pista anterior. Si tuvieramos más pistas, solo tendríamos que repetir este mismo proceso.

Bien, con nuestra tabla creada con los sectores solo tenemos que ir grabando las pistas una a una. En esta tabla os pongo los nombres y demas datos que hay que poner en las opciones del Cdrwin.

Imagen


Si todo ha ido bién, tendremos 3 ficheros (apuntad la unidad donde lo habeis puesto que luego os hará falta, yo como siempre, utilizo la unidad d:)

Y aquí es donde viene la parte quizás más complicada que es escribir un fichero .CUE que contenga a estos 3 ficheros y que además funcione (uff, si esto funciona es para ponerse una medalla. :-))))

FILE "D:\DATOS.BIN" BINARY
TRACK 01 MODE2/2352

INDEX 01 00:00:00

FILE "D:\AUDIO1.WAV" WAVE
TRACK 02 AUDIO

PREGAP 00:02:00

INDEX 01 00:00:00

FILE "D:\AUDIO2.WAV" WAVE
TRACK 03 AUDIO

INDEX 00 00:00:00

INDEX 01 00:02:00


Una vez grabado este fichero .CUE, nos vamos hasta la opcion record disc.

Imagen


Seleccionamos Load Cue Sheet, le indicamos dónde está, y lo grabamos. Y por fín volvemos a tener nuestro cd "limpio".

Antes de terminar vamos a explicar un poco técnicamente el contenido del cue.

FILE sive para indicarle al programa que fichero tiene que grabar. BINARY indica que es un fichero de datos, mientras que WAVE uno de música (ya que previamente habiais seleccionado estos tipos a la hora de extraer los sectores).

TRACK indica la pista que vamos a grabar y además en qué formato, para los datos es MODE2/2352 (XA) y para el sonido es AUDIO.

La confusión puede venir con lo siguiente.

PREGAP significa añadir una cantidad de bloques para diferenciar una pista de otra (se lo damos en tiempo minutos:segundos:sectores) o sea que añadimos 2 segundos de diferencia entre la pista de datos y la primera pista de audio ( y ya tenemos solucionado uno de los problemas).

INDEX sirve para indicarle al programa indices dentro de la pista. En la primera pista de audio solo colocamos 1 indice, ¿porqué en la segunda pista ponemos 2?. Pues para solucionar el problema del -2, -1, 0 que comentabamos mas arriba. En definitiva significa que el comienzo relativo y de sincronización comienza al principio del fichero de audio y su contenido 2 segundos despues. (Esto es quizás lo más complicado de entender). ¿Os acordais que para ir sacando las pistas hemos ido quitando 2 segundos sucesivos a cada pista? Con estos índices volvemos a recolocar cada pista. Además tened en cuenta que un índice de tipo 0 se "pega" a la pista anterior, y el programa solo ofrece la información de los indices 1. Si lo habeis razonado un poco, podreis entender la operación que hemos hecho más arriba y lo simple que es ahora.


EPÍLOGO

Dicen que el que avisa no es traidor, y ya comentaba arriba que este proceso es quizás más lioso. Por cierto, también es válido, aunque modificando el fichero cue para sacar copias de seguridad de nuestros compacts de música con una pista de datos al final :-) os suenan no ??

Aunque creo que ya hay programas como el discjuggler que podrían saltarse este tipo de protecciones, no lo he probado pero sería interesante que alguien lo hiciera. Esta visto y comprobado que nada es perfecto, y en el mundo del software menos.



by Pep2k
0 respuestas