Moderador
Fecha de ingreso: 08/feb/2003
Mensajes: 51
|
Curso de ripeo de juegos de ps2
Curso de ripeo de juegos de ps2
Temario
Curso de ripeo de juegos de ps2.
1. Introducción
1.1 Ripeo = Copia de seguridad
1.2 Objetivos del curso
2. Herramientas.
2.1 Herramientas basicas
2.1.1 Hex Workshop
2.1.2 Cd /dvd generator
2.1.3 Isobuster
2.1.4 Iml2iso
2.1.5 Kit builder v2
2.1.6 Cdrwin
2.2 Herramientas avanzadas
2.2.1 Ida pro advanced
3. Herramientas de tratamiento de audio / video
3.1 Pss plex
3.2 Tmpgenc
3.3 Dvd2avi
4. Tipos de archivos
4.1 Archivos de películas
4.2 Archivos de sonido
4.3 El sles
4.4 Archivos especiales
4.4.1 Nob
4.4.2 Dat
4.4.3 Bin
4.4.4 Fat
5. Las tablas lba
6. Protección antiripeo
6.1 Dvdcheck
6.1.1 Tipos
6.1.2 Localización: el sles afondo
6.1.3 Uso del hex workshop
6.1.4 Nuestro primer ripeo: Orphen
6.1.5 Uso del ida pro
6.1.6 Detección de dvdchecks en el Extermination
6.1.7 Los nuevos dvdchecks: Batman
6.2 La protección FADE
6.3 Protección mediante archivos “extrañamente” grandes
7. Practicas
7.1 Onimusha
7.2 Red faction
7.3 Airblade
7.4 Zoe
7.5 Time crisis2
Apéndice A. Set de instrucciones del mips
Tema 1
1. Introducción
El presente documento es de carácter didáctico, y está basado en documentación que se puede encontrar por Internet en sitios especializados así como en experiencias propias del autor.
Todo lo que se explica en este documento no ha sido extraído ilegalmente de ningún sitio y siempre se incluye (de ser necesario) la información de copyright del autor del mismo.
Asimismo las referencias que se hacen a programas son siempre aversiones o bien compradas y registradas o bien versiones freeware o shareware, incluyendo esta información al comienzo de cada explicación sobre esas herramientas.
En ningún momento se incluirán direcciones donde descargar cualquier tipo de parches o cracks que eviten el uso legal de esas herramientas.
Por tanto, el autor o autores de este documento y los responsables de la publicación y /o visionado del mismo no se responsabilizan del mal uso que se pueda hacer de la información que aquí se recoge (salvo por la consecución de los objetivos)
1.1 Ripeo = Copia de seguridad
Aprender a ripear un juego es completamente necesario a menos que se disponga de una grabadora de dvd para poder realizar copias de seguridad de aquellos juegos que, debido al alto precio pagado por ellos, no queremos que se estropeen por su uso.
Por lo que este curso sólo está dirigido a los que posean la copia original del mismo
1.2 Objetivos del curso
Obtención de una copia funcional del juego para poder usarla en vez del original.
Tema 2
********************
Tema 2. Herramientas.
********************
2.1 Herramientas basicas
2.1.1 Hex Workshop
El Hex Workshop (HWS desde ahora) es un conjunto de herramientas de desarrollo para Windows que combina edicion avanzada de código en binario con la facilidad y flexibilidad de un procesador de texto, con esta herramienta vamos a poder editar, cortar, copiar, buscar, reemplazar, comparar, calcular checksums ,ect.
He puesto esta herramienta porque es la que he conocido haciendo ripeos, la que más han usado todos aquellos que han escrito algun tutorial sobre ripeo en los foros y porque su versión demo te permite poder usarla sin ninguna restricción durante el tiempo de prueba.
Se puede conseguir una versión demo de 30 dias pero perfectamente operativa en la siguiente dirección: [url]http://www.bpsoft.com/downloads/[/url]
¿Para qué necesitamos el HWS?
Porque es la única forma de poder modificar las llamadas que se realizan dentro de los archivos a los dvdchecks.
La forma de uso es muy sencilla: una vez que sabemos qué fichero tiene un dvdcheck y por dónde puede estar (más o menos), simplemente abrimos ese fichero con el HWS, comprobando que no tiene (el fichero a editar) el atributo de sólo lectura activado (para comprobarlo pinchamos con el boton secundario sobre el fichero y vemos las propiedades).
Para localizar el offset (dirección donde se nos ha dicho que está el dvdcheck) pulsamos ctrl.+ g y ponemos la dirección dentro de la caja de texto.
Pulsamos Aceptar y nos buscará esa dirección, si encontramos la cadena correspondiente al dvdcheck la podemos modificar simplemente situando el cursor sobre el octeto a cambiar y lo cambiamos y así sucesivamente hasta que finalicemos el cambio de todos los offset que contengan un dvdcheck.
Y este es (de momento) el uso que vamos a hacer de este programa.
No os recomiendo el search/replace que tiene debido a que las direcciones de los offset donde se encuentran los dvdchecks pueden cambiar de una versión a otra, por lo que una búsqueda simple va a resultar mucho más segura que una búsqueda con cambio automático (jeje, ni que fuera un ferrari).
En lecciones más avanzadas aprenderemos más usos del HWS, pero para ripeos sencillos en los que no hay que modificar la tabla del sistema de ficheros, con conocer este uso ya nos vale.
2.1.3 Isobuster.
Perdon por saltarme de esta forma el indice del curso pero he creido conveniente situar en primer lugar esta herramienta ya que nos va a servir para poder explicar correctamente la siguiente.
Isobuster es una herramienta que nos va a servir para poder extraer (entre otras cosas) el contenido del un cdrom o un dvdrom aunque éste tenga archivos “raros” que usando el explorador de windows no nos va a dejar hacerlo.
Yo os recomiendo que en vez de usar el explorador de windows, uséis siempre el isobuster ya que, cuando extrae los ficheros a la carpeta que queráis, ésta va a conservar siempre el mismo orden en el que se extrajo por lo que, cuando se use el cd/dvd gen va a ser más sencillo conseguir que los LBA vayan en orden (bueno, todo a su debido tiempo).
Uso:
Meter el juego dentro de la unidad de cdrom o dvdrom e iniciar el “isobuster”.
NOTA: El Isobuster lo podréis encontrar en la seccion descargas de esta web.
Pinchar con boton derecho del raton en la etiqueta roja que pone “iso” y seleccionar “extraer directorio” ahora pincha en “browse” para seleccionar un directorio temporal dentro de tu disco duro y picha “ok”
(Asegúrate de que tienes suficiente espacio en el disco duro, siempre dependiendo del juego, pero vas a necesitar el doble de lo que ocupa éste)
Isobuster va a extraer el juego dentro de la carpeta que has elegido (la temporal) así que es ahí donde debes buscarlo.
Ahora vuelve a hacer click con el boton derecho del raton sobre la etiqueta roja que pone “iso” y selecciona “copy tree info to file” y pon el escritorio como destino del txt que te va a generar (atencion a esto!!! Con la última versión de este programa no me ha funcionado correctamente este paso, no sé si es problema de esta versión o de mi máquina, sí me ha funcionado con la anterior así que si tenéis problemas con la última versión probad otra.)
Con esto hemos extraido perfectamente todo el contenido del dvdrom y hemos hecho una copia en un fichero de texto del orden de los ficheros dentro del mismo.
2.1.2 Cd /dvd generator
Esta es la herramienta de Sony para poder crear la estructura de archivos del dvd de tal forma que sea exactamente igual a la del original.
Esto es debido a que, aunque arrastremos (o copiemos a mano) todo el dvd a una carpeta siguiendo el mismo orden, éstos no se almacenan dentro del disco duro siguiendo una misma estructura.
Se puede decir que esto es otro tipo de protección: mantener el mismo orden de los ficheros.
Este orden no se refiere al orden de las carpetas porque de hecho todos podemos modificar ese orden simplemente poniendo que nos lo muestre por fecha, tipo de archivo,ect.
El orden se basa en una lista enlazada de estos ficheros donde uno comienza justo en la posición siguiente en la que termina el anterior.
Os puede parecer un poco lioso a aquellos que no sepáis algo de programación y conozcáis lo que es una lista enlazada.(No lo voy a explicar puesto que no es necesario, hay mucha documentación en la web sobre estructuras de datos , lo siento).
Resumiendo: Si el archivo sles455.78 está en la posición 34 y acaba en la 89 y el siguiente archivo comienza en la posición 90 y acaba en la 160, tenemos que poder recrear ese mismo orden y esa misma estructura y esto solo lo podemos hacer con esta herramienta.
Pasos a seguir para su uso:
Primer paso
Usar el isobuster (visto en el punto 2.1.3)
Mantenemos el Isobuster abierto.
Segundo paso
Abrimos cd/dvd generator y seleccionamos “create new project”, luego “cdrom master disk” y abrimos el explorador de windows.
Nos situamos en la carpeta donde le habíamos dicho al isobuster que nos extrayera el contenido del dvd.
Tercer paso
Manteniendo la ordenacion de directorios que podemos comprobar con el Isobuster (por eso lo mantenemos abierto) usamos el explorador de windows para mover los archivos que tenemos en la carpeta temporal dentro del cd/dvd gen manteniendo el orden que nos aparece en el isobuster (de momento que mantengan ese orden visual!!!)
(Mientras usemos el isobuster para extraer los archivos del dvd al disco duro, todos los archivos que lo componen van a situarse dentro del cd/dvd gen en orden incluyendo sus carpetas).
Ver imagen 1.
Cuarto paso
Ahora abrimos el archivo txt generado por el isobuster y que contiene la estructura de archivos ordenados del dvd.
Lo seleccionamos entero y lo copiamos dentro de un documento de word.
Ahora, usando la opcion de ordenar de word, ordenamos esos archivos por orden numérico, para luego poder ordenarlos de la misma forma dentro del cd/dvd gen.
Quinto paso
Ahora selecciona la etiqueta “layout” del cd/dvd gen y asegurate que todos los archivos que ves en la ventana se corresponden a los que has ordenado en word.
Ver imagen 2.
Sexto paso
Selecciona la opcion “volume” en el cd/dvd gen e introduce el nombre del sles (slus para las versiones USA): slus_xxx.xx / sles_xxx.xx en la caja de texto "disk name".
Ojo, si el dvd que estás ripeando tiene nombre de etiqueta introduce ese nombre en la caja de texto “volume” exactamente como aparece en el isobuster!!!!
Septimo paso
Ahora ya podemos generar el archivo .iml que se necesita para poder hacer la imagen ISO.
Selecciona “file” y luego “export iml file” y lo guardas con un nombre sencillo (por ejemplo el nombre del juego, pero que no sea mayor de 5 caracteres, no por nada especial pero es que luego, para poder convertirlo a iso vas a usar el msdos y si tienes que teclear un nombre largo y con cosas raras, el msdos puede llorar bastante )
Tambien puedes usar la opcion “save as” del cd/dvd gen en el caso en que quieras volver a trabajar en la imagen de nuevo (o para pasarsela a los que te la pidan ya que este es un trabajo bastante duro)
Y con esto y un bizcocho…
Ya tenemos listo el .iml para poder realizar nuestra ISO.
Como habréis podido observar (y ya lo veréis en vuestras carnes) este es realmente el proceso más pesado cuando vamos a ripear ya que tenemos que hacerlo todo de forma manual.
En estos momentos Zandal está trabajando en una herramienta que sea capaz de realizar esta ordenación de forma automática (aunque siempre vamos a necesitar el txt que nos ha generado el isobuster, claro).
De momento (a fecha de la creación de este documento) aun no la tiene operativa al 100%, pero el objetivo de este curso es hacer las cosas por nuestra cuenta y aprender, verdad?
Jeje, no os preocupéis que en cuanto lo tenga disponible os diré donde encontrarla y como usarla.
NOTAS
Antes de que cualquier juego que hemos reconstruido cargue cuando se realice el método del swap (el que sea) éste debe tener un tamaño más pequeño que el cd que se va a usar para el swap. Usease ,es decir nenes que si usais el action replay inferior a la versión 1.7 (o 1.5 no estoy muy seguro) tenéis que comprobar que el tamaño del LBA del juego ripeado sea menor que el del ar o si no no lo va a cargar.
Por qué? Muy sencillo, porque cuando realizamos la carga de un juego mediante el swap, la ps2 primero comprueba el tamaño (LBA) del disco que insertas para cargar, una vez que lo has cargado (el del ar2) y lo sustituyes ya se ha quedado en memoria el tamaño completo del juego, por lo que si el juego ripeado es de mayor tamaño que el cd que has usado para el swap éste no cargará al “pensar” la ps2 que se trata de un cd distinto (no es realmente así, pero esta explicación nos vale).
Esta es la tabla LBAs de los cds que se suelen usar para el swap:
Action replay v1.1 LBA máximo de = 250179
Action replay v1.3 LBA máximo de = 250179
DVDregionX LBA máximo de = 323849
(Si estamos haciendo la reconstruccion para el AR1.1 el archivo system.cnf DEBE situarse en la posicion LBA 12231 dentro del cd/dvd gen).
Para saber el limite máximo del LBA del disco de arranque usa el isobuster y haz click con el boton secundario en “track” y selecciona “properties”.
Mira el final del LBA, el backup debe finalizar con un tamaño de LBA menor!!!!
(esto se consigue con práctica)
Para ver el final del LBA usando el cd/dvd gen mira en la ventana layout despues de ordenar los archivos de forma correcta.
Si te encuentras con que el archivo creado tiene un LBA muy grande (mayor que el arranque) tienes 2 opciones:
1. Generar el iso e intentarlo de todas formas (algunos juegos pueden funcionar correctamente pero ni las músicas ni las películas van a hacerlo, o si lo hacen no funcionan bien).
2. Cargarte (ripear, claro) archivos innecesarios como los de otros lenguajes, ect (eso lo aprenderemos más adelante).
¿Qué quiere decir esto? Muy sencillo: si intentas ripear un dvd en un único cd no va a entrar pero si le quitas las músicas, ect, sí...lógico verdad??? Pero... y si intentamos meter en un cd de 90 minutos o de 80 minutos un juego??? Pues que te va a funcionar siempre y cuando el cd que uses para arrancar la ps2 (el del ar2) tenga ese tamaño.
¿Qué ocurre si ya he quitado todo lo que tenia o podia quitar y aun sigue siendo muy grande? Te quedan unas pocas opciones:
1. Después de ordenar los archivos con el cd/dvd gen vete a los archivos de películas que te quedan y los borras (antes de generar el archivo iml)
2. Borrar las pelis antes de hacer la reconstruccion con el cd/dvd gen.
3. Reemplazar esas pelis (en vez de borrarlas) usando archivos de menos de 1 Mb (1 kb) pero usando el mismo nombre y siempre antes de realizar la reconstrucción.
4. Usar un .pss que ya exista y sea muy pequeño y reemplazando los otros por ese .pss pero con el mismo nombre, antes de reconstruir.
De todas formas no hay que preocuparse mucho por esto ya que nos vamos a encontrar con formas desde las más simples a las ultra coplejas de pasar un dvd a varios cds.
2.1.4 Iml2iso
Este programita nos va a permitir construir una imagen ISO para poder grabarla con el cdrwin desde un archivo .iml.
La pega que tiene es que debes usar el msdos (una ventanita de msdos) pero no es muy difícil. Y el ejecutable debe estar o bien dentro del path para que lo puedas llamar desde cualquier sitio o bien lo copias y lo pegas dentro de la carpeta donde esta tu iml (donde esta el juego,vamos).
Para acceder a la carpeta desde msdos directamente al abrirlo hay un truquito: con el explorador de windows abierto, pinchamos en cualquier archivo que esté dentro de la carpeta donde está nuestro iml (o pinchamos una vez!!!) sobre el .iml.
Ahora abrimos una ventana de msdos ( inicio/ejecutar/command ,para los de w9x, inicio/ejecutar/cmd, para los de w2000 y XP)
Veréis que estais dentro de la carpeta en cuestion (la que tiene nuestro iml).
Ahora tecleáis: "iml2iso nombre_de_tu_juego.iml nombre_de_tu_juego.iso"
(El que ponga nombre_de_tu_juego textualmente y me diga que no funciona lo hecho del curso!!!!!)
Ahora vais a tener que esperar de 5 a 20 minutos (o mas si tu ordenador es muy lento) pero siempre dependiendo del tamaño del iso que va a generar, paciencia.
2.1.6 Cdrwin
Perdon otra vez, pero este es el último paso para un ripeo sencillito y creo que es mejor poner este punto antes que el kitbuilder (si, ya lo sé, soy un caos, pero no soy profesor, lo siento).
Este es nuestro programa de grabacion, teneis una version share (demo) en esta misma web cuya única pega es que graba como máximo a x1 (o sea, si un juego es de 74 minutos, te va a tardar 74 minutos en grabarlo), si os parece lento, lo compráis y punto.
Para grabarlo realizamos lo siguiente:
Seleccionamos la opcion "file backup and tools" (es el cuadrito que tiene la imagen de una llave inglesa).
Cambias (en la lista desplegable) lo que hay a: “record an iso 9660 image".
En la caja que pone "image file name" pinchamos en browse y seleccionamos la iso que queremos grabar (la que está en nuestra carpeta de trabajo) y pinchamos en “open”.
Cambiamos el "cdrom recorder" al nombre de vuestra grabadora (si es que no aparece).
Seleccionas en "disc type" la opción "cdrom-xa".
Seleccionas en "track mode" la opcion "mode2"
Picha en "finalize/close session" y "write postgap" (las otras asegúrate que no esten marcadas).
Ahora seleccionas la velocidad de grabacion en "burn speed" (yo suelo usar x4 – es una manía- si el programa es share sólo podréis grabar a x1).
Pinchas en "start" y esperas a que finalice.
Si usáis cds de 80 o 90 minutos (porque el ripeo del juego se pasa de los 74 minutos) el cdrwin os va a avisar de que el tamaño de la imagen iso es mayor de 74 minutos, no os preocupéis porque lo graba sin problemas al menos en mi yamaha SCSI 8424, en otros modelos y otros fabricantes no tengo ni idea, para consultas preguntad en el foro de grabación que para eso está,ok?)
Y listo...ya tenemos una copia (suponemos,claro) de seguridad de nuestro juego favorito que nos ha costado 10.000 pelas
2.1.5 Kit builder v2
Aquí tenéis un manual en formato word de cómo usar esta herramienta.
2.2 Herramientas avanzadas
2.2.1 Ida pro advanced
El Ida pro advanced es un desensamblador capaz de realizar la ingeniería inversa de casi cualquier programa hecho para casi cualquier procesador.
¿Por qué la necesidad de esta herramienta?
Muy sencillo,aunque el HexWorkShop (o cualquier otro editor hexadecimal) nos puede dar los offset de cualquier programa,lo que nos interesa con este programa es localizar las llamadas (dentro de los archivos correspondientes -sles o slus) que se realizan para los dvdchecks.
¿No sirve cualquier otro desensamblador,como,por ejemplo el SoftIce?
Pues no,debido a que este es el único (al menos conocido) que da soporte al procesador de la ps2:el mips.
Cuando los desarrolladores compilan los programas para la ps2
lo realizan dentro del entorno de la propia ps2,por lo que se utiliza el set de instrucciones específicos de la ps2.
El set de instrucciones son una serie de funciones que sólo las comprende el procesador de la ps2,por eso en tu pc no puedes ejecutar un juego para ps2 ya que no entiende este set de instrucciones (por ello se usan emuladores de las consolas,pero eso es otra historia).
En el apéndice de este curso se adjunta el set de instrucciones del mips para que todos aquellos que quieran investigar el funcionamiento interno de la consola (a nivel bajo) no tengan problemas.
Junto con el Ida Pro se necesitan una serie de librerias (flirts) que se componen básicamente de traducciones de trozos de código poniéndoles etiquetas para que,a la hora de realizar una búsqueda,ésta sea más fácil de resolver.
Un ejemplo:
La rutina que por excelencia se debe buscar para localizar los dvdchecks es la funcion sceCdMmode,bién,pero esta rutina la podemos localizar por ese nombre gracias al flirt ,ya que algun programador se la "curró" para que,los que tuvieran que buscar esa llamada no tuvieran problemas a la hora de encontrarla,ya que la rutina original es esta:
.text:00113D18 .globl sub_18569 -->sceCdMmode
.text:00113D18 sub_18569: # CODE XREF: InitCD(void)+24 p
.text:00113D18 # DATA XREF: InitMachineScheme(void)+280 o
.text:00113D18
.text:00113D18 var_40 = -0x40
.text:00113D18 var_30 = -0x30
.text:00113D18 var_20 = -0x20
.text:00113D18 var_10 = -0x10
.text:00113D18
.text:00113D18 addiu $sp, -0x40
.text:00113D1C sd $s1, 0x40+var_20($sp)
.text:00113D20 daddu $s1, $a0, $0
.text:00113D24 sd $ra, 0x40+var_10($sp)
.text:00113D28 sd $s0, 0x40+var_30($sp)
.text:00113D2C jal scmd_prechk
.text:00113D30 li $a0, 0x22
.text:00113D34 bnez $v0, loc_113D44
.text:00113D38 lui $v0, 0x14
.text:00113D3C b loc_113DC0
.text:00113D40 daddu $v0, $0, $0
Si os dais cuenta la funcion que se llama sub_18569,debido a que siempre es la misma,al aplicar los flirts se cambia ese nombre a uno más sencillo: sceCdMmode.
De no ser así imaginad el tener que hacer estos pasos:
1.Localizar esta funcion (su codigo entero),que no está siempre en el mismo sitio y esto habría que hacerlo a mano( y hombre,con paciencia se hacen muchas cosas,claro ).
2.Una vez localizada esta llamada hay con ver el nombre de la funcion y realizar la búsqueda por el nombre de esa funcion (esta es la parte fácil).
Bueno,y mucho más porque si os fijáis tenemos dentro de la propia funcion una llamada a otra funcion (scmd_prechk) que tambien ha sido creada gracias a los flirts...
¿Veis la importancia?
Ahora mismo hay gente investigando y desarrollando nuevas versiones de este flirt para que no tengamos problemas a la hora de localizar e interpretar ciertas rutinas de verificacion o comprobacion de datos.
Y esto,a grandes rasgos,es lo que hace el Ida Pro.
¿Quéeee? ¿yaaaa? yo quiero empezar a buscar dvdchecks!!!!!
Bueeeeeeeno,vale.
No estaba seguro de meter tan pronto (sobre todo antes de explicar las protecciones) la búsqueda de dvdchecks,pero !que demonios!
Nuestros primeros pasos con el Ida Pro
Esto es una adaptacion del tutorial que Cybblade posteó en su día en este foro (pocos le hicimos caso ya que nadie sabia lo que era el Ida Pro en ese momento).
Os explico como comenzar y os pongo el enlace a su tutorial,ok?
cita:
Dar al César lo que es del César
Bien,en primer lugar,y antes que nada,hay que guardar los flirts dentro de su correspondiente carpeta (para que funcionen correctamente).
La ruta debería ser:
\ida\sig\mips
\ida\ es el nombre de la carpeta donde habéis instalado el programa.
\sig\ ya existía (lo crea el programa) y dentro de sig creáis la carpeta mips y dentro de ésta metéis los dos flirts:
ps2.sig y ps2lic.sig
Y comenzamos:
Abrimos el Ida Pro y le decimos que queremos comenzar un nuevo proyecto.
Nos pedirá el nombre del archivo e introducimos el sles (o slus) que queremos desensamblar.
Nos saldrá una ventanita indicando el tipo de procesador para el que ese archvo ha sido diseñado,y elegimos el mips:r5900b.
Si no nos aparece este procesador significa que la version del ida que tenemos no nos sirve!!!!!! hay que buscar otra.
Dejamos el Ida cargando todo el archivo y esperamos a que un botoncito situado en la parte superior derecha del interface del Ida se ponga verde (estará o rojo-parado- o amarillo -procesando),es como un semáforo.
Nos dará algun que otro error al cargar,pasamos de ello.
Una vez acabado (en verde) vamos a File/Load File/Flirt Signature file.. y cargamos el primero (PS2 Unnamed sample library),volvemos a esperar a que el semáforo esté verde...
Y pulsamos ALT+T,nos saldrá una ventanita de búsqueda e introducimos los siguiente:
sceCdMmode
Chequeamos la opcion de Find all occurrences y aceptamos.
Si hay exito nos saldrá una ventanita flotante con todas las ocurrencias a esa funcion.
Lo que nos interesa es una llamada de este tipo:
jal sceCdMmode
ya que justo debajo nos encontraremos:
li $a0,2 (este 2 es el que luego cambiamos por un 1 en el HexWorkShop)
En la zona inferior de la pantalla del ida tenemos 5 cajitas (labels),la que nos interesa es la Cuarta empezando por la izquierda ya que ese es el numero del offset que luego hay que introducir en el HexWorkShop para localizar el dvdcheck.
Recordad que todas las ocurrencias a esa llamada son dvdchecks las que son de la forma:
jal sceCdMmode
li $a0,2
Apuntamos los offset de las llamadas a li $a0 (para luego modificarlo con el HWS).
Y ya está,esto es todo,cerramos y nos ponemos manos a la obra con el HWS.
Hay ya varios juegos que tienen otro tipo de dvdcheck,pero estos los localizaremos más adelante.
De momento con esta explicación podréis encontrar el 95% de los dvdchecks de los juegos del mercado.
Como práctica os pongo que localicéis los dvdchekcs de:
Extermination
Red Faction
Resident Evil:Code Veronica X
Y luego comprobéis que los habéis localizado correctamente viendo cualquer manual de ripeo de estos juegos.
Bueno,aquí teneis el enlace al manual de cybblade (recomiendo su lectura ya que os pone los flirts y esta en word con capturas de pantalla que facilitan el aprendizaje).
Manual de Cybblade
Tema 3
********************************
TEMA 3
********************************
3. Herramientas de tratamiento de audio / video
Como hemos podido observar en algun que otro dvd, aun quitando aquellos archivos de audio/ video innecesarios (por ser de otros idiomas) nos encontramos con el problema de que los que nos quedan aun son muy grandes, lo suficiente como para no poder grabar en un cd de 80 minutos (o de la capacidad que queramos). Por ello se hace completamente necesaria la modificación de la calidad de las películas (full motion video o fmv) que nos encontramos en los juegos.
No hay que echarse las manos a la cabeza por querer modificar una peli, a veces (salvo excepciones) el modificar la calidad de una de ellas para bajarla de tamaño no implica que se vaya a ver rematadamente mal.
Para poder hacer esto vamos a necesitar varias herramientas:
3.1 Pss plex
Esta utilidad nos va a permitir extraer el video de los archivos pss, dejando aparte el audio, para poder realizar el tratamiento de este y luego volver a unirlos creando un pss de menor tamaño. El tamaño va a depender de la calidad del video (de los fps que le vayamos a poner).
Pasos para usarlo:
Lo ejecutamos y seleccionamos DEMULTIPLEX:
Le indicamos la ruta donde se encuentra nuestro archivo y la ruta donde queremos que nos ponga el audio y el video (con extensión wav y m2v respectivamente)..
Yo recomiendo que el audio vaya a una carpeta distinta de la del video (pero cada cual que lo haga como quiera).
Una vez hecho esto aceptamos y nos dividirá el archivo en dos partes.
Cuando acabemos de realizar todo el proceso de modificación del video sólo nos queda volver a unir los archivos.
Seleccionamos MULTIPLEX:
Ruta donde se encuentra el audio.
Ruta donde se encuentra el video modificado.
Ruta y nombre del archivo pss (no deja sobrescribir el anterior –al menos en mi versión- así que elegid otra ruta distinta de la que tiene el archivo original y luego lo sustituís desde el explorador de windows).
3.2 Dvd2avi
Esta herramienta es muy sencilla de usar:
Abrimos el archivo de video (el de extensión .m2v) y seleccionamos en el menú la opción video / color space/ rgb 24-bits.
Lo guardamos como proyecto ( file/ save proyect)de dvd2avi y ya está, cerramos y nos vamos.
3.3 Tmpgenc
Esta es la herramienta que nos va a permitir realizar la modificación del video. Los pasos a seguir son también muy sencillos:
Abrimos el proyecto guardado del dvd2avi con el Tmpgenc, para ello nos vamos a la parte de abajo a Video Source y en Browser seleccionamos el archivo del proyecto grabado, le ponemos en Stream type la opción Video Only, ahora pinchamos en el botón Setting que está justo debajo y seleccionamos como formato de salida Mpeg-2(M2V) ,en Rate Control Mode seleccionamos CONSTANT BIT RATE y le pondremos un valor aproximado de 1000 kbits/sg (se puede bajar sin perder mucha calidad hasta 700, con menos...ufff)
Luego en Output le ponemos la carpeta donde queremos que se guarde el nuevo archivo de video.
Y pinchamos en Start. Veremos en la pantalla de visualización la película pasando a saltos (dependiendo del bit rate que le hemos puesto tendrá más o menos saltos).
Cuando finalice cerramos todo y volvemos al PssPlex para unir la peli.
Y con este breve capítulo ya podemos modificar el tamaño de cualquier peli.
Anexo I. Modificación con el FLASKMPEG:
Ejecuta FLASKMPEG
Selecciona FILE - OPEN y elige el .pss que quieres modificar.
Pincha en RUN... - START CONVERSION, comprueba que la resolución de input/output es la misma.
Para cambiar la resolución elige OPTIONS - GLOBAL PROJECT OPTION y pon la que quieras (no te pases).
Ahora en OUTPUT FORMAT elige OPTIONS - SELECT OUTPUT FORMAT:
Video Stream Settings: Video Type MPEG - 2
Bitrate - Mquant pon 9
Archivos Input y Output : Eligen en la segunda cadena el directorio donde va a estar el .m2v
General Settings: Selecciona Encode video y multiplex video deselecciona el resto (si es que algo estuviera seleccionado).
Pulsamos Ok.
Y RUN... - START CONVERSION - START
3.4 Herramientas para el tratamiento del audio: MFAudio
Esta herramienta nos va a permitir escuchar, convertir y modificar los archivos de audio que se encuentran en los juegos de PS2 (está hecha únicamente para tal función).
Es útil porque nos va a servir para poder reducir el tamaño de la música en nuestros ripeos, reemplazar aquellos archivos que no nos gustan por otros que queramos (imaginaos jugando al GTA3 con la canción “no cambie”, jejeje), o simplemente escuchar aquellos archivos de música que nos gustan de nuestros juegos (y poder pasarlos a mp3 o a cd).
Uso
-----
El programa posee una interface muy sencilla donde todas las posibilidades estan visibles en la misma pantalla, salvo la parte de opciones pero que es accesible desde un botón.
Pulsamos 'Open' y seleccionamos el archivo que queremos modificar. Si el archivo es de formato conocido todos los detalles sobre este se rellenarán automáticamente dentro del programa. El formato se pondrá por defecto a modo Raw (comprimido o sin comprimir) , y necesitaríamos establecer la frecuencia, canales y el interleave de forma manual. La opción 'headerskip' se usará para saltarse un número conocido de bytes que pudieran existir dentro del archivo de audio y que se corresponden con datos de programa (no de audio). Usaremos el botón de 'Play' para comprobar que las opciones que hemos puesto son correctas y poder continuar.
Ahora crearemos el archivo de salida donde se va a almacenar la conversión. Comenzaremos seleccionando el formato de salida y le daremos un nombre. La frequency, channels, y el interleave (lo dejo en inglés para mejor comprensión) lo dejaremos tal y como lo tiene el archivo original, sólo habría que modificar aquellos parámetros que creamos convenientes para poder bajarlo de tamaño.
Y ya está, con esto ya hemos hecho el downsample de nuestro archivo de audio.
Esta utilidad permite su ejecución desde la línea de comandos de MSDOS, esto es muy útil para aquellos que hagáis kits de ripeo (no tutoriales) y, mediante archivos .bat se realizan las modificaciones directamente sin necesidad de abrir el interface gráfico.
Podéis consultar la ayuda tecleando: 'MFAudio /?' desde la línea de comandos.
Restricciones
---------------
Los formatos MUS y MPC (usados principalmente en los juegos de EA) no funcionan con este programa.
Ejemplos
----------
Aquí os pongo varios ejemplos (PAL y NTSC –el NTSC para yogabuzz ) de algunas opciones para poder realizar la conversión del audio de algunos juegos.
Driving Emotion Type-S (PAL)
\DATA\BGM*.BIN: Raw Compressed, Freq 48000, Channels 2, Interleave 2000, HeaderSkip 10
Dynasty Warriors 2 (PAL)
\BGM.BNS: Raw Compressed, Freq 44100, Channels 2, Interleave 10
Track 1: HeaderSkip 800 Track 2: HeaderSkip 3EF800
Track 3: HeaderSkip 88D800 Track 4: HeaderSkip C7E000
Track 5: HeaderSkip FAD800 Track 6: HeaderSkip 13F8000
Track 7: HeaderSkip 1867000 Track 8: HeaderSkip 1C40000
Track 9: HeaderSkip 209A800 Track10: HeaderSkip 24CB000
Track11: HeaderSkip 2970000 Track12: HeaderSkip 2FD4800
Track13: HeaderSkip 32A8000 Track14: HeaderSkip 32F7800
Track15: HeaderSkip 33FF000 Track16: HeaderSkip 3485000
Track17: HeaderSkip 34C7800 Track18: HeaderSkip 38BD000
Track19: HeaderSkip 3C69000
Extermination (PAL)
\STREAM\MUSIC.DAT: Raw Compressed, Freq 48000, Channels 2, Interleave 400
Track 1: HeaderSkip 0 Track 2: HeaderSkip B24000
Track 3: HeaderSkip 1583000 Track 4: HeaderSkip 1DE4000
Track 5: HeaderSkip 27A7000 Track 6: HeaderSkip 330C000
Track 7: HeaderSkip 3EAF000 Track 8: HeaderSkip 483F000
Track 9: HeaderSkip 5C9D000 Track10: HeaderSkip 6ABE800
Track11: HeaderSkip 6FD0000 Track12: HeaderSkip 73D9000
Track13: HeaderSkip 787CC00 Track14: HeaderSkip 7887000
Track15: HeaderSkip 78F3000 Track16: HeaderSkip 7979800
Track17: HeaderSkip 7EF0800 Track18: HeaderSkip 843D800
Track19: HeaderSkip 8A68800 Track20: HeaderSkip 8F22800
Track21: HeaderSkip 9387000 Track22: HeaderSkip 96A9000
Track23: HeaderSkip 99D3000 Track24: HeaderSkip 9A43400
Track25: HeaderSkip 9AD4000 and higher - Speech & Incidental Music
Extreme G3 Racing (PAL)
\MUSIC\FLY*.XA2,
\MUSIC\FRONTEND.XA2,
\MUSIC\PION.XA2,
\MUSIC\REPLAY.XA2,
\MUSIC\VERDE.XA2: Raw Compressed, Freq 44100, Channels 2, Interleave 1000, HeaderSkip 800
* All other XA2 files in MUSIC directory cannot be played correctly with MFAudio
Formula One 2001 (PAL)
\STREAM\MUSIC\*.PCM: Raw Uncompressed, Freq 48000, Channels 2, Interleave 0
\STREAM\MUSIC\STR*.PCM: Raw Uncompressed, Freq 24000, Channels 2, Interleave 0
Gradius (PAL)
\SD\G0_BGM: Raw Compressed, Freq 44100, Channels 2, Interleave 4000
\SD\G3_BGM*: Raw Compressed, Freq 44100, Channels 1
\SD\G4_BGM*: Raw Compressed, Freq 44100, Channels 2, Interleave 4000
Gran Turismo 3 (Todas las versiones)
\BGM\*.ADS: SS2 Format (built-in support)
* Es necesario el uso del extractor para el GT3.VOL de Zandal
Bloody Roar 3 (NTSC)
\STR\M*.PCM: Raw Uncompressed, Freq 48000, Channels 2, Interleave 200
Crazy Taxi (NTSC)
\RES\ADS\MUSIC.STR: Raw Compressed, Freq 44100, Channels 2, Interleave 4000
Track 1: HeaderSkip 800 Track 2: HeaderSkip 5E8800
Track 3: HeaderSkip 7E8800 Track 4: HeaderSkip 908800
Track 5: HeaderSkip 1258800 Track 6: HeaderSkip 1998800
Track 7: HeaderSkip 2288800 Track 8: HeaderSkip 29A0800
Track 9: HeaderSkip 29F8800
Donald Duck (NTSC)
\GAMEDATA\WORLD\SOUND\STREAMED.BLK: Raw Compressed, Freq 44100, Channels 2, Interleave 800
Gungriffon Blaze (PAL)
\MUSIC\GG3.STZ: STZ Format (built-in support)
Internation Track & Field (PAL)
\SOUND\BGM.VAS: VAS Format (built-in support)
ISS (PAL)
\SOUND\BGM.VAS: VAS Format (built-in support)
NBA2Night (NTSC)
\SOUND\DATA\STRBGM.VAS: VAS Format (built-in support)
Ring of Red (NTSC)
\BGM\*.RAW: Raw Uncompressed, Freq 24000, Channels 2, Interleave 0
Silent Scope (PAL)
\BGM\*.RAW: Raw Uncompressed, Freq 24000, Channels 2, Interleave 0
Star Wars: Starfighter (NTSC)
\STREAMS\MUSIC\*.SCX: Raw Compressed, Freq 24000, Channels 2, Interleave 40, HeaderSkip 100
Star Wars: Super Bombad Racing (PAL)
\MUSICPS2.DAT: Raw Compressed, Freq 24000, Channels 1
Track 1: Left - HeaderSkip 44 Right - HeaderSkip 104CC4
Track 2: Left - HeaderSkip 209944 Right - HeaderSkip 30EC24
Track 3: Left - HeaderSkip 413F04 Right - HeaderSkip 433F24
Track 4: Left - HeaderSkip 453F44 Right - HeaderSkip 582124
I'll leave the rest to you...
Surfing H3O (PAL)
\GZMVS.RBB: Raw Compressed, Freq 48000, Channels 2, Interleave 2000
Track 1: HeaderSkip 1000 Track 2: HeaderSkip BD000
Track 3: HeaderSkip 1C5000 Track 4: HeaderSkip 3C1000
Track 5: HeaderSkip 5B9000 Track 6: HeaderSkip 819000
Track 7: HeaderSkip A81000 Track 8: HeaderSkip D2D000
Track 9: HeaderSkip FD1000 Track10: HeaderSkip 12ED000
Track11: HeaderSkip 1695000 Track12: HeaderSkip 1CC9000
Track13: HeaderSkip 2481000 Track14: HeaderSkip 2E4D000
Track15: HeaderSkip 3855000 Track16: HeaderSkip 4049000
Track17: HeaderSkip 4A8D000
TimeSplitters (PAL)
\MUSIC\*.MSC: Raw Compressed, Freq 44100, Channels 2, Interleave 8000
Tokyo Extreme Racer Zero (NTSC)
\SMC\MUSIC.SMC: Raw Compressed, Freq 48000, Channels 2, Interleave 8000
Track 1: HeaderSkip 0 Track 2: HeaderSkip 360000
Track 3: HeaderSkip 600000 Track 4: HeaderSkip 8A0000
Track 5: HeaderSkip 1380000 Track 6: HeaderSkip 16C0000
Track 7: HeaderSkip 1E00000 Track 8: HeaderSkip 28A0000
Track 9: HeaderSkip 32E0000 Track10: HeaderSkip 37C0000
Track11: HeaderSkip 3CC0000 Track12: HeaderSkip 41C0000
Track13: HeaderSkip 46A0000 Track14: HeaderSkip 4BA0000
Track15: HeaderSkip 50A0000 Track16: HeaderSkip 55A0000
Track17: HeaderSkip 5A80000 Track18: HeaderSkip 5F00000
Track19: HeaderSkip 63E0000 Track20: HeaderSkip 68E0000
Track21: HeaderSkip 6DC0000 Track22: HeaderSkip 72A0000
Track23: HeaderSkip 7760000 Track24: HeaderSkip 7C40000
Track25: HeaderSkip 8120000 Track26: HeaderSkip 81A0000
Track27: HeaderSkip 8240000 Track28: HeaderSkip 8900000
Track29: HeaderSkip 9540000 Track30: HeaderSkip A180000
Track31: HeaderSkip ABC0000 Track32: HeaderSkip B5C0000
Top Gear Dare Devil (PAL)
\SOUND\*.VAG: VAG Format (built-in support)
Twisted Metal Black (NTSC)
\VAG\*.VAG: VAG Format (built-in support)
Unreal Tournament (NTSC)
\MUSIC\*.VGM: Raw Compressed, Freq 22050, Channels 2, Interleave 10
Wild Wild Racing (PAL)
\MUSIC\*.VB: Raw Compressed, Freq 44100, Channels 2, Interleave 2000
Winter-X Games (PAL)
\SOUND\BGM.VAS: VAS Format (built-in support)
X-Squad (PAL)
\SOUND\*.INT: Raw Uncompressed, Freq 48000, Channels 2, Interleave 200
Legal
-----
Todo lo que está expuesto aquí está sacado íntegramente del readme.txt del autor de esta utilidad. No contiene material sujeto a normas de copyright (de Sony o de cualquier otro).
Se cuenta con el permiso del autor de la obra para poder incluir este material dentro del curso de ripeo.
Para los que no tienen el ida pro
Bien,en vista de la dificultad para encontrar el Ida Pro por muchos de vosotros,en este enlace encontraréis informacion sobre otro programa similar al Ida.
Este programa es gratuito y os va a servir para poder seguir los temas del curso en los que se usa el Ida Pro.
[url]http://www.elotrolado.net/showthrea...&threadid=33431[/url]
PD:Esto ha sido gracias a MaBoQuePasa.
Si teneis problemas con el generator
En vista de que muchos teneis problemas para realizar la ordenacion correcta de los ficheros en el generator,os dejo este enlace a un hilo que puse hace tiempo para que os bajeis una de las herramientas mas utiles para realizar esta ordenacion: cddvdhelp,realizada por nuestro colega Zandal.
[url]http://www.elotrolado.net/showthrea...&threadid=33158[/url]
Un saludo
Tema 4
Tema 4
4. Tipos de archivos
Bueno, este tema sobra un poco o es un pelin repetitivo ya que, llegados a este punto, todos conocereis de sobra los tipos de archivo que manejamos en los ripeos de la ps2.
Pero nunca viene mal hacer un pequeño recordatorio de los mismos.
4.1 Archivos de películas
Son los archivos pss. Estos archivos son el resultado de unir el audio y el video, por lo que en todos los ripeos siempre hay que dividirlos (ya sabeis como hacerlos) y tratar el video aparte (es recomendable no modificar nunca el audio asocidado al video)
4.2 Archivos de sonido
Estos son archivos de onda (wav, por ejemplo) que, o estan asociados al video, o son los que contienen las musicas del juego o los efectos de sonido. Tambien sabéis como modificarlos para que ocupen menos.
4.3 El sles
Tambien lo podeis encontrar como SCES. Es el encargado de cargar el juego. En él se encuentran las rutinas (funciones) para que el juego detecte que todo lo que necesita para poder usarse esta presente en la consola (que sea un soporte válido, que los archivos esten bien ordenados, que se encuentren los archivos localizados en sus lugares correspondientes...).
Como todos sabéis este es el fichero donde vamos a poder conocer (entre otras muchas cosas) la protección que lleva, si necesita ordenación por LBA...
4.4 Archivos especiales
Bueno, pongo que son especiales porque son los archivos con los que más nos vamos a tener que pelear, ¿el motivo? Porque son de un tamaño enorme que impiden que se pueda trocear de una forma sencilla. Suelen tener alguna de estas extensiones: Nob, Dat, Bin, Fat.
¿Pero qué son realmente estos archivos? Supongo que todos sabeis que son los archivos comprimidos, verdad? Archivos que se han generado como producto de la union (y compresión) de un buen lote de archivos y que se descomprimen con alguna utilidad descompresora (winzip,winrar,winace...). Pues esto es lo mismo: archivos que se han unido en uno y que sólo se pueden desunir (o desenlazar) usando la misma utilidad que los ha enlazado.
Perfecto!!!! Entonces con pillar la utilidad con la que se han hecho ya tenemos resuelto el problema, no? (esto lo pensareis todos) Claro, sólo que cada juego ha usado su propia utilidad (es decir, no hay una genérica) y, por tanto, tenemos que averiguar como han montado ese archivo para cada juego.
Pero esto lo dejo para el tema de las protecciones
Tema 5
Tema 5
5. LBA: ordenacion II
En temas anteriores se ha explicado con claridad como realizar la ordenación de las famosas lbas. Como debíamos colocar (dentro del cd/dvd generator) los archivos extraidos del dvd para que siguieran su orden correcto.
Ahora me voy a extender un pelín mas en esa ordenación haciendo referencia a una utilidad programada por Zandal que va a hacer que todo este trabajo tan tedioso sea mucho más rápido y sencillo de realizar:
Lo podeis descargar de aquí
CddvdHelp
Su forma de uso es muy sencilla (esto es una traduccion libre del manual de Zandal)
En primer lugar abre el generator y mete todos los archivos del dvd (que estan en el disco duro, claro.). Aquí no te tienes que preocupar de que esten en orden, sino que esten todos los archivos dentro del generator (si tienes el juego en la carpeta c:\gt3 pues te metes dentro de esa carpeta, lo seleccionas todo y arrastras esa selección directamente al generator).
Procura haber extraido el contenido del dvd usando el ISOBUSTER (ya sabes como hacerlo y el por qué y haber creado tambien el archivo de texto con el contenido de ese dvd).
Una vez metido todo esto (acuerdate de poner los datos necesarios al volume) le das a grabar (no a importar IML, eso lo haremos mas tarde). Y cierras el generator.
Ejecuta CDDVDHelper.exe, en el primer campo que aparece selecciona el fichero TXT generado por el ISOBUSTER (si aun no sabes hacer esto estás perdiendo el tiempo )
En el segundo campo selecciona donde se encuentra el archivo CCZ (archivo que has generado al guardar con el generator)
Por ultimo seleccióna donde se encuentra la carpeta con los archivos a ordenar...(p.e. si los pusiste en la carpeta C:\gt3, debes indicar esta carpeta...)
Ahora pulsa en START y espera hasta que acabe (comprueba que la ventanita de la derecha no contiene ninguna información ya que si te sale algo significa que algo no va bien –no has puesto bien la ruta-)
Con esto se te habrá modificado el CCZ, ahora solo tienes que volver a abrirlo con el generator, comprobar que todo esta en orden (si lo has hecho bien lo estará) y exportar como IML (lo demás ya debéis saber hacerlo)
Tema 6
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???
[QUOTE]este manualillo es de la web [url]www.elotrolado.net[/url][/QUOTE]
__________________ Kieres ser Un vampiro
AZ CLICK AKI
ME ENCANTA LOS INVENTOS Y EXPERIMENTOS
¡¡¡¡¿A KIEN NO?¡¡¡¡
|