Pifia escribió:suloku escribió:Pues habras echo mas de 48 horas de pruebas para que te salga rentable xD
¿Habrás usado dvd regrabable no?
Parece que la cosa tenia mas chicha que tan solo eliminar archivos del juego...
Y la tiene, así de repente se me ocurre esto para hacerlo a mano :
Tenemos que pensar que la iso es como si fuera la memoria de un ordenador... tiene unas direcciones de memoria (offsets) que van desde 0x000 hasta 0x11823fffff (4.699.979.775 bytes=4,4 gigs). La particion 1 contiene los datos de actualizaciones y la particion 2 contiene los datos del juego. Estos datos estan localizados mediante un fichero que se llama fst (File system table). El fst esta dividio en dos partes en el principio tiene una cabezera que contiene los datos
de los ficheros y directorios: tamaño,offset, el tamaño de esta cabezera es = al nº de ficheros+directorios x 12. Normalemente los ficheros estan alineadeos de manera que los primeros ficheros que se cargan al inicio y los que mas se usa están en la parte mas al exterior del disco con el fin de acelerar la carga de los mismos y preservar la unidad. Sabido esto tenemos que "engañar" a la wii para que el primer fichero que abra sea el que nosotros queremos, supongo aunque no lo he probado que sea el opening.bnr (que contiene los banners), como ejemplo tomemos el lucky luck (es el que tenia mas a mano), el opening esta en la posición de memoria: $EB4AFE14 , casi al final del todo, nuestra intención seria ponerlo al principio, para ello buscamos en la tabla un fichero que este en un offset lo mas bajo posible, da igual que el tamaño sea inferior al de nuestro fichero, lo que nos importa es el offset, una vez que tengamos el header de ese fichero podemos crear un fst modificado, para ello cogeriamos la primera cabecera del fst que seria algo asi :
01 00 00 00 00 00 00 00 00 00 00 B5<-- x 12 indica la psición de la tabla de nombres
y a continuacion añadiriamos el header de nuestro fichero.
00 00 00 00 3F A0 ED 9C 00 86 73 A8
offset del fichero=3fa0ed9c tamaño del fichero=008673a8
El offset lo dejariamos = y cambiariamos el tamaño por el de nuestro fichero opening bnr modificado.
A continuacion metemos el nombre del fichero y editamos el utimo byte del 1er header para que apunte al inicio del nombre :
Offaset
0x00 - 01 00 00 00 00 00 00 00 00 00 00 18 < la posicion del nombre en la tabla seria 24 = $18
0x0C - 00 00 00 00 3F A0 ED 9C 00 02 c3 32
0x18 - 6F 70 65 6E 69 6E 67 2E 62 6E 72 00 <-- esto es opening.bnr + 00 para que el sistema reconozca el fin del nombre
Ahora cogemos este fst recien creado y sustitimos el fst del juego por nuestro fst falso con el trucha.
al abrir el iso de nuevo y ver los datos de la particion 2 solo deberia aparece el nombre de nuestro fichero en la carpeta de los ficheros del juego, recordar que una particion tiene 2 carpetas, la de sistema (donde estan los main.dol,apploader y fst.bin) y la de los ficheros del juego.
Ahora tocaria recortar el iso, para ello cogemos el offset del opening.bnr y le sumamos su tamaño, dejamos un espacio prudencial para futuras modificaciones, asi no tendremos que andar recortando isos y a partir de ahi borramos el resto de los datos ej :
Inicio particion 1 particion2 fin fichero espacio extra
00 $50000 $f00000 $f02c32 $f40000 < a partir de aqui borramos todo, cortamos desde el principio hasta aquí, lo que querais.
Ahora en la tabla de la particion cambiariamos el tamaño de la misma que seria igual a la resto del offset del final del fichero - el offset de la particion:
$f40000-$f00000 = $40000
y ya tenemos nuestra iso falsa.
Por supuesto no es tan sencillo y hay que tener muchas cosas en cuenta toda la info para hacer esto esta en wiibrew, con un poco de imaginacion se puede hacer facilmente
http://wiibrew.org/index.php?title=Wiidisc < para la estructura del disco
Si buscais en gogle por fst game cube encontrareis la info sobre la estructura del fst.
Salu2.