U8Tool: U8 archive packer/extractor.
Usage:
===========
Extracting:
1a. Fill in the path to the file you wish to extract and press the extract button.
1b. Optionally you can also set the output folder, but this is done automatically if you leave that section blank.
2. Your file is now extracted! Note that the values of the various checkboxes are changed. These are the types of headers that were in the file and tell
you which settings to use when packing the file back up!
Packing:
1a. Fill in the path to the folder that contains all of your files. Be sure to end the path with a "\"
1b. Optionally you can set the output file name, but this is done automatically if you leave that section blank.
1c. Depending upon the type of archive you wish to make, you may need to check various header options. Please note that MOST can't be used together so you
should really only check one, but incase we run across some odd file in the future, I've left the option to check multiple headers.
WARNING!!! You can brick your wii by putting the wrong header on a 00000000.app! If you are unsure as to which settings to use, simply use the
"Get settings from Original File" button!!! (For the record, a 0.app uses a IMET header).
1d. If you checked IMET or IMETDVD then you need to fill out the name of the channel in the boxes that appear to the right. By default, what you type in one
box is cloned to all the others, but unchecking the clone checkbox will allow you to enter different titles for each game. Note that channel titles cannot
exceed 42 english characters!
2. Click "pack" and your file is now created!
Injecting:
First off understand that the inject mode is a simple work-around to prevent the corruption of tpl images in archives. This mode should NEVER be used if you
don't need it. Also understand that this mode only allows you to replace existing files with files of the EXACT SAME SIZE. If any of your files aren't
the same size then this mode will error out and exit!!! Third understand that "special" headers aren't supported for this mode. U8 "normal" archives and
imd5 are the only supported archives simply because it is IMPOSSIBLE to work on any of the other archive types without changing file sizes because the files
inside them are compressed with a tool that isn't available to us. This shouldn't matter anyway as tpls are never found in special archives, but in archives
INSIDE special archives, which don't use special headers. Also the only options you can set, for obvious reasons are the lz77 compression options.
Keeping all of that in mind:
1. Extract the archive you wish to inject normally and edit any files you wish to change in the extracted folders.
2. Select the extracted folder you've been working in as the source folder and the archive you extracted it from as the destination file.
2a. Optionally set the compression mode.
3. Click "Inject" and your original archive will now contain the files you edited!
Command Line Usage:
======================
u8tool.exe -file "path\to\filename.app" -folder "path\to\folder_out\" [-source "path\to\source\file\"] [-extract] [-pack] [-inject] [-IMD5] [-IMET] [-DVD] [-Lz77] [-Title "Channel Title"] [-jap-dut "Specific Channel Title"]
-file "path\to\filename.app" = Path to the file, this can be the source or destination, depending upon if you are packing or extracting.
-folder "path\to\folder_out\" = Path to the folder, this can be the source or destination, depending upon if you are packing or extracting. Note you need to
end this one with a "\"
-source path\to\source = sets all header settings based on the header of the file you specify.
-extract = extract the file to the folder
-pack = pack the folder into the file
-inject = inject the files in the folder you specify into the archive you spcify. NOTE READ INJECT INSTRUCTIONS ABOVE!!
-imd5 = add imd5 header to file
-imet = add imet (0.app) header to file
-sound = pack a sound.bin file.
-dvd = add dvd-specific imet header to file
-lz77 = add lz77 compression to the file
-lz77_nohead = add lz77 compression to the file without the "LZ77" header
-title "Channel Title"= Set ALL channel titles to this title
-jap-dut "Specific Title" = Set only this language (use the language codes found in the gui "Jap" "Eng" ect..) to this title.
Use this AFTER a global "-title" change to save yourself some typing.
Why you should use this tool instead of the u8tools already out there:
======================================================================
- It's not part of the wii sdk, so it isn't "illegal" (mind you most we currently use are legal as well)
- This is the only legal u8tool that properly handles the root folder, meaning to the noobs that you don't have to use u8 coes to pack up 5.apps!
- This is the only u8tool that tells you what headers are in a file when it's extracted, allowing you to know exactly how to re-pack it.
- This is the only legal u8tool that can handle multiple recursive folders, meaning to the noobs that you can properly extract a html.arc!
- This tool doesn't pollute your headers with "MADE by some l33t guy" tags, which nintendo could potentially (very unlikely) use to block channel installs in the future.
- This is the only legal u8tool with command line options.
- With the help of gbalzss, this is the ONLY u8tool that'll automatically decompress lz77 compressed files, meaning to the noobs that you can extract and edit banner.bin and icon.bin without the need for generic, pre-decompressed 0.app "templates"!
Notes:
==================
This tool can NOT be used in conjunction with other u8tools out there. (Why would you?) This is because most of them ignore the first "root" folder and
this one doesn't, meaning when you re-pack a file extracted with another tool, the root folder is lost!
Lz77 compression is NOT reccomended on the icon.bin or banner.bin atm as our compressor doesn't always work right.
TODO/BUGS/ECT:
=================
I have been getting reports that the lz77 compression might be corrupted. This part of the tool is external and I didn't write. The good news is in the
case of vc titles it doesn't matter as there is no need to re-compress files after you have edited them.
by HowardC.
Que novedades incluye la versión 10.1
Released
- Altered the command-line function so it doesn't confuse "imet" with "inject" by mistake.