Guide on Modifying the Wii Shop Channel To Access Your Own Websites

From RGDWiki
It works!

This is a guide on modifying the Wii Shop Channel to access your own URLs.

You will need a URL which:

  • Has no SSL (a non-HSTS SSL website should be fine as long as http:// is specified)
  • Fits within 29 bytes, or 30 bytes with a / at the end (it does not have to be 29/30 bytes exactly, but if it is less than 29/30 bytes you will have to pad it out with NULL (00) bytes to reach 29/30, as the filesize cannot change). The important thing is to make sure that it isn't any bigger than 30 bytes with the slash, including the http:// at the start.
  • Points to a website which is simple enough for the outdated Opera browser in the Wii Shop Channel to handle (some pages simply give an error code even if they should be able to work in theory)
  • Ideally, one that you control (it probably won't work if you can't change content that it points to as you will most likely need to add a file to get it to work)

Initial Step

First, install the Wii Shop Channel (v21, latest) on a Wii or Dolphin. You will have to modify the installed files of the channel directly using WiiXplorer (real Wii) or directly on your system (Dolphin). If using Dolphin, please import a real Wii NAND and launch the Wii Shop Channel at least once before you make any modifications. This has not been tested on a real Wii, but it should work fine.

To modify the Wii Shop Channel's files, you will have to find them first. They should be located at title/00010002/48414241/content starting from the root of your NAND. (On Dolphin on Windows, the default NAND root is in the "Dolphin Emulator" folder in your Documents folder.)

There are 2 files you need to worry about for this procedure - 0000005e.app and 0000005f.app. The first one is the main executable in which you must modify the URLs, the second one is the data archive in which you must patch the whitelist file.

It is advised that you create a backup copy of these files, and to modify 0000005f.app you will need to create a second copy somewhere else on your hard drive.

Patching the Whitelist

To patch the whitelist file, you will need this tool: https://szs.wiimm.de/wszst/ Note that other tools have been shown to not work properly for doing this, so please use this one.

Download and extract the tool, go to the folder with all the *.exe files (/bin/), and run this command: .\wszst.exe EXTRACT <path_to_0000005f.app>

This will create a folder titled 0000005f.d in the same folder as 0000005f.app. Inside this folder will be another folder named arc, this is the extracted contents of the .app file.

Navigate to /opera/myfilter.ini (with the root being the /arc folder) and replace its contents with the following:

[prefs]
prioritize excludelist=0

[include]
file:/cnt/*
https://*.shop.wii.com/*
https://*
miip:*
http://*
https://*

[exclude]
*

Make sure you save.

After doing this you will have to re-compress the file:

First ensure there are NO OTHER FILES in 0000005f.d besides the arc folder (there probably will be, so move them somewhere else)

Then do .\wszst.exe C <path to the 0000005f.d folder>

This will create an "0000005f.szs" file in the folder above the 0000005f.d folder.

Then do .\wszst.exe DEC <path to 0000005f.szs>

This should generate a 0000005f.u8 file. Replace the original 0000005f.app file on your Wii NAND/Dolphin NAND with it (delete the original, copy the .u8 in, rename the .u8 to .app) and this step is done.

Patching the URL

The next step is modifying the URL which the Wii Shop Channel points to.

Scroll back up to the top of the page to remind yourself of the URL requirements.

You can use a hex editor to add additional 00 bytes at the end of your URL to pad it out to 29 (you will probably need to do this, since it is very unlikely that your URL will coincidentally be 29 bytes).

The URL should probably start with http://, but this may not be required. Feel free to experiment.

Use a hex editor like HxD and open the 0000005e.app file. Also create a new file and paste your URL in without the / at the end. Count the hex bytes and see if it is less or more than 29. If it is more, you need a shorter URL. If it is less, add 00 bytes at the end (00 bytes, not 00 characters) until it reaches 29. Copy and paste the bytes sequence into a notepad.

Then do the same thing again for the URL with the / at the end. Make sure the URL with the / at the end is 30 bytes (you might need to pad it). Keep both byte sequences.

Go back to 0000005e.app and do a byte-based (hex-values) find and replace. In HxD this is in Search -> Replace. Find the following byte sequence:

68 74 74 70 73 3A 2F 2F 6F 73 73 2D 61 75 74 68 2E 73 68 6F 70 2E 77 69 69 2E 63 6F 6D

and replace it with your URL in hex bytes without the slash (which should be in your notepad). If it gives you a warning about changing the filesize, you did something wrong and need to cancel immediately and try again, as you cannot change the filesize. If it succeeds, save.

Then do it again for the URL with the slash; same steps, but instead search for this sequence:

68 74 74 70 73 3A 2F 2F 6F 73 73 2D 61 75 74 68 2E 73 68 6F 70 2E 77 69 69 2E 63 6F 6D 2F

and replace it with the URL which has the slash at the end.

Results

You should now be able to launch the Wii Shop Channel in Dolphin or on your Wii (depending on which one you did) and it will either load your URL or give you a 404. If the latter happens, add a file called "startup" to the URL it's pointed to which contains the HTML or whatever you want to load.

Sometimes the Wii Shop Channel decides it wants to load the root directory instead in which case that will stop working and you will have to rename it back to index.html, keeping a startup file and a index.html file with the same contents might work to avoid this, but I haven't tried.

Troubleshooting

Make sure you followed the guide right and try a different URL or try replacing the HTML content that it's pointed at.