Cargador de Aplicaciones en DVD Open-Source Apploader, ISO

Esto que publicaron en HackMii es un proyecto que tenia guardado marcam hace un tiempo y que salio comentado en un hilo referente a la recuperacion de Wiis semibrikeadas.
Es una ISO con un dol a remplazar con la aplicacion que tu decidas el ISO contiene un Apploader casero y propio de codigo abierto y no tiene copyrigth.
Dejo el texto original del la fuente HackMii:

In order to make legally re-distributable ISO images for the Homebrew Channel installer, we had to remove Nintendo’s copyrighted apploader code and replace it with our own; we based ours on the one from GC-Linux.  You may find the source and binary for it here:
http://static.hackmii.com/wii-apploader.tar.gz
Here is an empty “template” disc image that you can use in your own projects; it contains the above apploader.
http://static.hackmii.com/iso_template.iso.bz2
Enjoy!


Que quiere decir que con el afan de distribuir el instaldor del HomebrewChannel y para no tener problemas legales hicieron un apploader propio basandoce en uno de CG-Linux y muestran el codigo fuente en:
http://static.hackmii.com/wii-apploader.tar.gz
Despues nos dan una ISO que puedes usar para tus propios proyectos que incluye dicho apploader aqui:
http://static.hackmii.com/iso_template.iso.bz2
Esto lo pueden utilizar con el nuevo WiiScrubbed 1.3 y tendran una conjuncion de aplicaciones poderosa para la escene.
P.D. Para los novatos "AppLoader = Cargador de Aplicaciones" osea: ejecuta un .dol al insertar el DVD.
El Chip fisico en el lector es necesario.
Saludos
Esto no tiene nada que ver con lo del bug DVD no?
Se supone que no, ya que se necesita el chip para poder usarlo
¿Y esa iso la tendría que poder abrir el trucha o el wiiscrubber? ... porque yo no puedo...
En teoria el wiiscrubber nuevo no? No lo he probado aun, la verdad...
Nosotros usamos algunas utilidades propias, asi que no lo hemos probado con WiiScrubber y trucha, pero desde luego es una ISO valida (aunque pequeña), asi que debería funcionar.
PiratePila está baneado por "crearse clones para trollear"
Con el trucha a mi no me funciona, después probaré con el nuevo Wiiscrubbers a ver que tal.
¿Y saldrá hoy lo del DVD Vídeo? Porque me voy de vacaciones y así aprovecho la Wii como lector DVD.
Pues el Trucha y el WiiScrubber parecen tener un bug que hace que no se pueda abrir, pero desde luego la ISO es valida ya que con un programa "experimento" que hice me la carga y extrae bien.

[offtopic]Como funciona el user offset/user size/disk size de la cabecera de la partición?[/offtopic]
Lombardi, no vamos a sacar un reproductor de DVD mascadito... es una prueba de concepto pero de momento no tiene GUI ni nada. No vamos a hacer un reproductor de DVD completo en solo unos pocos dias [carcajad]

GameZelda, aquí tienes la descripción de los offsets de la cabecera de la partición (bajo TMD and Certificate Chain, aunque los offsets realmente van por separado)
http://wiibrew.org/wiki/Wiidisc

Data offset es el offset a los datos (>>2, es decir en unidades de 4 bytes), data size es el tamaño de los datos encriptados (siempre un multiplo de 0x8000). Cada bloque de 0x8000 bytes de datos encriptados corresponde con 0x7C00 bytes de datos en claro.
marcansoft escribió:GameZelda, aquí tienes la descripción de los offsets de la cabecera de la partición (bajo TMD and Certificate Chain, aunque los offsets realmente van por separado)
http://wiibrew.org/wiki/Wiidisc

Data offset es el offset a los datos (>>2, es decir en unidades de 4 bytes), data size es el tamaño de los datos encriptados (siempre un multiplo de 0x8000). Cada bloque de 0x8000 bytes de datos encriptados corresponde con 0x7C00 bytes de datos en claro.


Creo que me he explicado mal, con lo de "cabecera de la partición" no me refería a los datos antes de la partición encriptada, si no a la cabecera de la partición una vez ya desencriptada.

Después del tamaño del fst.bin (offset 1072 si no me equivoco), hay tres enteros que en un archivo de cabecera del cubeboot ponia como user offset, user size y disk size, pero no les encuentro ninguna lógica, ni documentación.
Emm, y en esto del cargador de DVD puedes poner cualquier homebrew? por cierto, se puede poner un banner que se muestre en el Canal Disco al insertar el DVD
GameZelda escribió:Después del tamaño del fst.bin (offset 1072 si no me equivoco), hay tres enteros que en un archivo de cabecera del cubeboot ponia como user offset, user size y disk size, pero no les encuentro ninguna lógica, ni documentación.

Ah, en el GCM. Ni puñetera idea; tampoco están documentados en yagcd.
Con la nueva librería de acceso a DVD-R se podría utilizar este Apploader en una Wii sin Chip ?
corsarioxxx escribió:¿Y esa iso la tendría que poder abrir el trucha o el wiiscrubber? ... porque yo no puedo...


Imagen



:O Que curioso yo si la puedo abrir con el trucha (es la misma ISO que marcan hizo el favor de subir aquí.

Con el Scrubber (nueva versión y anterior) da Error al intentar abrir la ISO, con el trucha si la puedo abrir, de echo ¿se puede crear una ISO con es Scrubber extrayendo los archivos con el Trucha no? digo para hacerla compatible con el nuevo Scrubber, aunque el trucha se cierra por un error cuando selecciono la imagen de un disco en la carpeta "Root" (ver imagen) supongo porque esta vacia, ya que la he mirado al extraer los archivos [+risas]

Saludos!!!
wiidmode escribió:Con la nueva librería de acceso a DVD-R se podría utilizar este Apploader en una Wii sin Chip ?

No. Para que funcionara haría falta.. lo mismo que hace falta para cargar backups desde DVD, vamos.
Pues a mi tambien el scrubber no me la abre y el trucha al tratar de abrirla marca un error.
La iso esta perfecta para inyectarle un .dol
El problema esta ahora en saber con que programa s elo inyectamos.
Gracias
wiidmode escribió:Con la nueva librería de acceso a DVD-R se podría utilizar este Apploader en una Wii sin Chip ?


Ssh!, caya.
Dack escribió:Just a quick bump to say the version has jumped upto 1.31 as I've quickly fixed the iso_template.iso.bz2 problem.

Now that is the FINAL FINAL release!

:)

Source code will be out on drop.io/wiiscrubber tomorrow now.


Wiiscrubber 1.31 FINAL FINAL

Real Final Windows release as I'm bored of developing it and the name doesn't
really represent what it actually does any more.

Whats new?
1. Extra options on right click menu related to partition operations
   (you can now delete them and resize the data area)
2. Increased speed of file replacement by blocking it (and progress bar)
3. Extra couple of links in the about box
4. Window is now resizable (within limits)
5. Some of the text on buttons changed
6. More accurate indication of size as headers are now included in calculation
   and dynamically considered when header button pressed
7. Extra option on right click for WIIDISC as it allows for changing between
   system boot and normal boot
8. Common key check possible to over-ride in case Korean key becomes available
9. Can now replace the partition.bin file
10. Can add data partitions/channels
11. Can 'shuffle' up the partitions to the start of the disc for where some have
    been deleted - doesn't use Trucha bug.
12. Can Shrink the partition by moving the data up in the partition (meaning all
    the free space then appears at the end - Uses Trucha Bug.
13. Can save a decoded partition
14. Can load/replace a decoded partition
15. Can import a new disc partition.
16. Can resize a partition.
*17 Can cater for discs that have non-standard disc IDs by using the 'force wii' check
    box e.g. iso_template.iso.bz2
*18 Can extract/replace the sub parts of partition.bin i.e. tmd.bin, cert.bin and h3.bin
*19 Added two useful links in the about box ;)

That enough?

Companion software:
1. Makewiikeybin. exe - makes a key.bin file for you. Does not contain the actual key but generates it from
   a simple algorithm. - Decided to remove this from the pack due to some twittering. See 19 for possible
   solution - I also recommend hexd.exe
2. PartitionBuilder - allows you to generate a partition file that can be loaded via wiiscrubber. This
   means you can now generate an entire partition from a directory of files. So rather than changing one at
   a time you can extract an entire partition, change whatever files you want and then rebuild.

Bug Fixes:
1. Right click tracking bug in the disc display fixed (you had to left click
   an item before clicking the right button otherwise you got a different file
   selected - thanks Microsoft!)
2. Code tidy up by removing unused legacy functions from when the wiifuse stuff was
   originally utilised
3. Bug in the wiifuse code related to channels having a hardcoded value - info passed
   back to wiifuse author
4. Bug in file replacement where I check for available sectors (it had a problem if you
   only required 1)
5. Partition.bin can now be replaced. This includes the h3 data, the tickets etc. and is the
   first 0x20000 bytes of the partition.
6. All sorts of odd bugs fixed and tweaked for speed.
7. Bug fix when updating the fst.bin file - the size was not correctly updated in the boot.bin
   (You must update to the nearest 4 bytes boundary and also write out divided by 4). Highlighted
   by the VC group over on elotrolado.net


Thanks to:
1. Waninkoko for releasing the source of the WiiFrii code as it originally allowed
   me to implement the Trucha bits.

2. Stormyuan for lots of unintentional bug testing :)

3. Everyone else involved in testing at different stages.

4. Eric Young for the SHA code from openssl

It allows you to:
1. open up the WII iso's and extract/replace individual files from them
2. Change the iso so that unused areas are overwritten with 0xFF/0s. This
   has the effect of then making the ISO compressable :)

You need:
You will need a copy of the ubiquitous "key.bin" in the same directory.
You should not need to install any extra runtime files.
A descrambled wii iso
Plenty of disc space
A fair bit of time.

How to use:
Copy the key.bin file to the same directory as the exe.
Load the software.
Load the ISO file by clicking on the 'load iso' button
What the program is doing appears in the bottom window
Disc filelist appears in the top window as a standard treelist
Name of game and size of the data on the disc appears in top right

How to extract files:
Only one at a time at present
In the treelist click on a file to select
Right click the mouse button
Select 'Save' from the popup menu
The fields on the filename shown are:
name, partition, Offset into decrypted file, Filesize, file reference in FST (-ve means system file)

How to scrub the disc:
Click on the clean and save button
Depending on the option chosen next to the clean button you will then save
either a scrubbed file, a dif file or both files. If the TRUCHA option is chosen then
you will create several new files:
1. a dummy fst.bin
2. a modified fst.bin containing links for the padding files
3. several files full of 0's that can be loaded into the modified image.
4. a modified boot.bin that is needed for the modified fst.bin to be accessed

ISO: This creates a copy of the loaded ISO with the same name but (compress)
appended to the name before the .ISO part  (so SPM.ISO would become
SPM(compress).ISO).
DIFF: This creates a Diff file of the differences between the loaded file and
what a scrubbed one would contain. The filename used is the same as the savename but with
.dif used instead of ISO
BOTH: does both ISO and DIFF - you will need a LOT of storage for this

Compressing the scrubbed image should give you a figure close to the size of data
detailed earlier. The DIFF file will not compress that well (due to it being the
random data contained in the 'empty' disk blocks.


Comments:
I've tried on quite a few files, checking the files that are then extracted and
all seems correct. But no 100% guarantees can be made that the cleaned ISO will
work. What I tend to do is extract all the files from an uncleaned image using wiitools
and then extract all the same files from a cleaned image and do a windiff on them to
check for any irregularities. There is always the potential that Nintendo will start
checking for these sort of changes in a firmware update. Just be aware.

Sources etc.:
The source code is written under Visual C 6 (what I had installed here at the time).
The source will be released when I have a fully stable build.
Some of the source is from the excellent wiifuse
Some source code from Waninkokos wiifrii
Openssl source is also included for the crypto

Limitations/Errors/Bugs/Features/Improvements:
You may notice the 'load' function on the file popup - that would be a target - FIXED
Multiple file extraction would be more than useful but I thought it was better to
test the extraction function on single files first
I've got an issue where a release version will not work correctly, thats why this release is
a debug build. (*Love* finding those errors) - FIXED - Thanks to Juster at GBATemp.net
Yes the Icon is rubbish - one of my trademarks - will be fixed soon
File size is limited to 4.5 Gig as if the software is on a DL disc it probably needs to be - Fixed
Some of the extracted Disc titles look odd - not my fault :) - Fixed

Wish list for 1.4:
N/A


Comments/Suggestions/Errors:
Pop over to GBATEMP.NET and post on the boards there.

Changes from 1.21
1. Too numerous to list

Changes from 1.2
1. Bug fixes in the fst.bin size calculation for non-system files
   meant that added files were made as size / 4
2. 32/64 bug in line:
   /* Jump to the specified cluster and copy it to memory */
   offset = iso->parts[partition].offset + iso->parts[partition].data_offset + (cluster * SIZE_CLUSTER);
fixed to:
   /* Jump to the specified cluster and copy it to memory */
   offset = iso->parts[partition].offset + iso->parts[partition].data_offset + (u64)((u64)cluster * (u64)SIZE_CLUSTER);
  so that data could be read above the 2 gig point correctly. Problem possibly exists
  in Waninkokos source code too as it does an int by UL calculation for the cluster * SIZE_CLUSTER

Changes from 1.1b
1. Load file now works
2. Several more bug fixes with 32/64 issues
3. Display changed for partition info to allow VC channels to show
   correctly
4. Trucha signing of disc works automagically
5. Can possibly load files bigger than the original

Changes from 1.0a:
1. Options of creating and using the dif files
2. MoH2 now really does show correctly ;)
3. Key checking to make sure the correct one is used
4. code tidy up
5. Gamecube images work
6. TRUCHA signer padding option
7. Option of keeping crypto headers or not
8. settings are saved in the registry
9. Bug fixing - thank you Juster.

Changes from 1.0:
1. Way of scrubbing changed slightly so that the sector crypto header is left
unchanged. This makes it a bit more difficult to detect but lessens the compressability.
2. Disc Filename display corrected so titles like MoH2 show correctly ;)

Changes from beta test version:
1. Key file now only needs to be in the same directory as the program
2. A progress bar with cancel option when you start scrubbing
3. appended file name changed to (compress) to avoid confusion
4. Clickable URL of gbatemp in about box.

Dack
August 2nd 2008

DiD
End-ex


Pues aun con la version 1.31 ma da fallo al cargar la "iso_template.iso" :(

Imagen
Es que debes usar la opcion "Force Wii Disk" seleccionala antes de abrir el  iso_template.iso y veras que lo abrira lo dice en el readme.
Ya solo remplazas tu main.dol aunque creo que habra que inflarlo a 8 megas.
Cierto!!! no había visto la opción (costumbre, la ver anterior no lo trae)

[+risas] [+risas] [+risas]

Gracias!!!
Disculpen por revivir este post pero es que tengo una duda especialmente dirigida a marcan...
Habia leido que esta iso era para que tuvieramos el permiso de hacer una iso redistribuible del homebrew channel directamente.. Esto es cierto??
Es que quiero hacer una iso para un foro en el que hice un tuto, y pues no quiero tener problemas ni nada por el estilo...
Danielc escribió:Habia leido que esta iso era para que tuvieramos el permiso de hacer una iso redistribuible del homebrew channel directamente.. Esto es cierto??

No. Esto es una ISO que se puede usar para cargar homebrew, y el ejemplo que viene puesto lanza el Homebrew Channel. No es el Homebrew Channel, sino que lo lanza. Se puede usar si lo que quieres es, por ejemplo, tener una iso autoboot para cargar el HBC rápidamente, pero el HBC debe estar ya instalado.

Por varios motivos (actualizaciones, la forma en la que está instalado HBC, futuro uso de contenidos de ES, etc), no queremos que se use el binario de HBC por separado.
Vale, xD, les dire a los del foro que no se pudo xD... Ni modo, ustedes son los dueños y ustedes son los que deciden xD...
23 respuestas