Tema 6.
6. Protección antiripeo
Bien, ya hemos llegado al punto que todos estábamos esperando: las protecciones que nos hacen la vida imposible.
Hay muchas protecciones y cada juego saca unas distintas por lo que esto solo debe tomarse como una guia y no esperar que aquí encontreis la respuesta a todas las preguntas.
La única forma de que estemos al día en cuestion de protecciones es que cada uno investigue y comparta conocimientos, de acuerdo?
6.1 Dvdcheck
Bueno, todos sabeis perfectamente lo que son los dvdchecks (y si no lo sabeis aun no sé por qué estais leyendo este tema).
No voy a repetir lo mismo que ya está explicado, sólo hacer algun pequeño apunte: estos dvdchecks se encuentran en cualquier sitio (no sólo en el sles) y la única forma de averiguar donde se encuentran es: tirando cds a la basura (lo siento pero es así). Se pueden encontrar tanto en el sles como en los irx, archivos de idiomas, ect, ect, ect. Por lo que una buena cosa es revisar todos los archivos de este tipo que podamos e intentar buscar los patrones que ya conocemos.
6.1.1 Tipos
Hay varios tipos (y cada vez saldrán más) por lo que a la hora de hacer este tutorial lo más probable es que ya hayan salido unos pocos más.
Estan los archi conocidos dvdchecks en los que hay que modificar la cadena 0200 0424 por 0100 0424 , o con el Ida o el Ps2dis: li $a0,2 a li $a0,1.
Ahora tenemos tambien las protecciones EA, nuevos dvdchecks, protecciones en archivos de video...
6.1.2 Localización: el sles a fondo
Si habéis seguido los pasos del tema 2 cuando puse como funciona el Ida Pro ya tenéis hecho todo el camino. Es que no hay nada más. Esto es todo, localizar los dvdchecks que se conocen a priori es muy sencillo (y gracias a los flirts aun mas) pero localizar nuevos dvdchecks...para ello hay que currarse muy mucho el lenguaje ensamblador del mips y comprender como funciona el sles (para eso hay que dedicarle mucho tiempo y mucha paciencia).
Siento no poder poneros nada más pero estos puntos son para autodidactas, es decir, no hay ningun step by sep que te diga como localizar dvdchecks o que hace cada linea del sles, eso hay que localizarlo por uno mismo. Comprender como funciona un programa por dentro no es sencillo y requiere muchas horas de aprendizaje, pero la práctica lleva a la perfeccion

.
6.1.3 Uso del hex workshop
(Esto no voy a volver a ponerlo, ya esta claramente explicado en temas anteriores)
6.1.4 Nuestro primer ripeo: Extermination.
Bien, ya ha llegado la hora de realizar un ripeo completo de un juego, para ello vamos a ripear el Extermination. Es un juego muy sencillo de ripear y que nos va a servir para ir aprendiendo las cosas paso a paso.
6.2 La protección FADE
Esta es una protección heredada de los juegos de PC que consiste en hacer que el juego vaya progresivamente perdiendo funcionalidades y llegue a un punto en que sea injugable.Por suerte hay solo un par de juegos que la llevan (ambos de codemaster) y no se ha extendido mucho.Pero si alguno se encuentra con que después de varias partidas a un juego,éste deja de funcionar extrañamente, que piense que puede ser por esta protección de la que ,de momento, no hay solución posible.
6.4 Proteccion por tablas LBA
¿Qué es esto?¿por qué protección?¿no me vale solo con ordenarlas?
Pues vamos por partes.Para empezar las tablas LBA son un listado que se encuentran generalmente en el SLES y que contienen la direccion en hexadecimal del offset donde comienza un archivo, dónde termina y su tamaño (bueno,realmente solo contienen la direccion de inicio,los demas parametros los puedes sacar a mano).
¿Por qué es una proteccion?Muy sencillo,porque si se te ocurre modificar o sustituir un archivo por otro de menor tamaño (un dummy, por ejemplo) y el programa va a buscarlo a una direccion en la que no se encuentra,el juego no te va a funcionar.
Esto se ve con un sencillo ejemplo:
Imaginad que tenemos esta tabla LBA (es ficticia):
Hex Comienzo Nombre Fichero
=========== ============
00019AD4 español.irx
0002456A ingles.irx
0002900F voice.pss
No queremos el archivo ingles.irx porque es muy grande (unos 100 megas,por ejemplo) y lo sustituimos por un dummy.
Ahora el siguiente archivo,el voice.pss ya no va a estar en la posicion de comienzo 0002900F porque hemos modificado el tamaño de ingles.irx. Imaginaos que se situa en la direccion 0002456F,que sucede? pues que cuando el juego necesite ejecutar el voice.pss va a buscarlo a la posicion 0002900F y no lo va a encontrar,y dejara de funcionar.
Tendremos que realizar ese ajuste a mano para cada offset de inicio que modifiquemos
¿como detectar si hay una tabla LBA?
Usa ISOBUSTER y extrae un archivo de texto con el listado del DVD.
Ahora abre el SLES (casi siempre estará aquí pero puede estar en otro sitio tambien...)
Ahora supongamos que la primera posicion de la lista (del archivo) es 426 en DECIMAL , convirtiéndolo a hex tendremos : 000001AA. Y dándole la vuelta para ponerlo en formato Sony : AA010000
ahora hacemos una busqueda en el sles para intentar localizar ese numero AA010000 si lo encuentras puede ser que tengas la dirección de inicio del LBA. Vamos a buscar ahora la segunda posición de la lista y si nos lo encontramos cerca del primero, tenemos un 99% de probabilidades de haber localizado la LBA.
Bueno y todo este rollo para que???? Muy sencillo porque si modificamos una peli o archivos de audio, idiomas,ect sustituyéndolos por dummies que tienen tamaños diferentes tendremos que modificar esa tabla LBA ya que si no, no nos va a funcionar el ripeo (aunque las posiciones esten ordenadas) ya que el juego no sabrá donde buscar esos archivos.
Y ojo, que como modifiques un archivo que esté por la mitad de la tabla LBA hay que modificar la tabla ENTERITA (desde esa posición hasta el final). A que es divertido???