Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

User:CM360/sandbox/Wii U Creating homebrew channels: Difference between revisions

User page
(Create framework page for making homebrew channels)
 
(Start on NUSPacker section)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== What You Need ==
== What You Need ==
* The latest release of {{GitHub|phacoxcll/cdecrypt/releases|phacoxcll's CDecrypt fork}} (The <code>CDecrypt.zip</code> file)
* The latest release of {{GitHub|phacoxcll/cdecrypt/releases|phacoxcll's CDecrypt fork}} (the <code>CDecrypt.zip</code> file)
* The latest release of {{GitHub|ihaveamac/nuspacker/blob/master/NUSPacker.jar|NUSPacker}} (direct download)
** Only a Windows build is provided, Mac and Linux users may need to manually compile the source code.
** Using NUSPacker requires that you have [https://www.java.com/en/download/ Java] installed on your system.
* The latest release of [https://github.com/ihaveamac/nuspacker/blob/master/NUSPacker.jar?raw=true NUSPacker] (direct download)
* An image editor that supports the <code>.tga</code> image format.
** NUSPacker requires that you have [https://www.java.com/en/download/ Java] installed on your system to work.
** These instructions will use [https://getpaint.net/download.html paint.net]
* An image editor that supports the <code>.tga</code> image format
** These instructions will use [https://getpaint.net/download.html paint.net].
* The [https://gist.github.com/cm-360/696d84f674149a6caacb0cf78c894635 MetaVerify.py] script (click "Download ZIP" on the GitHub page to download)
** This script requires that you have [https://www.python.org/downloads/ Python 3.7.4+] installed on your system to work.
* The {{GitHub|dimok789/homebrew_launcher/releases/download/v2.1/homebrew_launcher_channel.v2.1.zip|Homebrew Launcher Channel v2.1}} (direct download)
* The {{GitHub|dimok789/homebrew_launcher/releases/download/v2.1/homebrew_launcher_channel.v2.1.zip|Homebrew Launcher Channel v2.1}} (direct download)
* tga_verify
* The <code>.rpx</code> file of whichever homebrew program you are making a channel for
* The <code>.rpx</code> file of whichever homebrew program you are making a channel for
* The Wii U Common Key
* The Wii U Common Key
** This is in the <code>otp.bin</code> file from your console's NAND dump. The key can be obtained by opening this file in a hex editor, and is located at offsets <code>0x000000E0</code> to <code>0x000000EF</code>. If extracted correctly, it should be a 32-character long hexadecimal number starting with <code>D7B0</code>.
** This is in the <code>otp.bin</code> file from your console's NAND dump. Extract it using this [https://www.dropbox.com/sh/gxkf72jia1adpyg/AADjKnHiumn5XSiroEFfPkkWa/CommonKeyExtractor.zip?dl=1 Common Key Extractor]. Copy the key and save it in a text file somewhere; it will be needed later.
** If you cannot get the extractor to work, the key can also be obtained by opening <code>otp.bin</code> in a hex editor, and is located at offsets <code>0x000000E0</code> to <code>0x000000EF</code>. If extracted correctly, it should be a 32-character long hexadecimal number starting with <code>D7B0</code>.


== Section I - Extracting with CDecrypt ==
== Section I - CDecrypt ==
# Unzip the Homebrew Launcher Channel (will be referred to as the HBLC from here)
#* You can rename the containing folder for organizational purposes. For these instructions, we will rename it from <code>homebrew_launcher_channel.v2.1</code> to <code>my-cool-app</code>
# Unzip CDecrypt
# Create a file named <code>keys.txt</code> in the same directory as the CDecrypt executable, and paste the Wii U Common Key on the first line
# Open a terminal and navigate to the location of the CDecrypt executable
# Use CDecrypt to decrypt the contents of the HBLC
#* For example, if you have the contents of the HBLC in a folder named <code>my-cool-app</code>, the command would be something like: <code>CDecrypt "/path/to/my-cool-app/" "/path/to/my-cool-app/"</code>
#* The folder with the HBLC's contents should now contain three new folders: <code>code</code>, <code>content</code>, and <code>meta</code>. Delete everything in this directory <strong>except</strong> these three folders
#* PLACEHOLDER FOR WHAT TO DO IF COMMON KEY IS WRONG


== Section II - Editing code files ==
== Section II - Editing code files ==
Line 17: Line 29:
== Section III - Editing meta files ==
== Section III - Editing meta files ==


== Section IV - Repacking with NUSPacker ==
== Section IV - NUSPacker ==
# Open a terminal and navigate to the location of <code>NUSPacker.jar</code>
# Use NUSPacker to rebuild
#* For example, if the directory of your edited HBLC is <code>my-cool-app</code>, the command would be something like: <code>java -jar NUSPacker.jar -in "/path/to/my-cool-app/" -out "/path/to/my-cool-app/" -encryptKeyWith XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</code> (replace the XXXX... with the Wii U Common Key)

Latest revision as of 18:17, 15 October 2022

What You Need

  • The latest release of phacoxcll's CDecrypt fork (the CDecrypt.zip file)
    • Only a Windows build is provided, Mac and Linux users may need to manually compile the source code.
  • The latest release of NUSPacker (direct download)
    • NUSPacker requires that you have Java installed on your system to work.
  • An image editor that supports the .tga image format
  • The MetaVerify.py script (click "Download ZIP" on the GitHub page to download)
    • This script requires that you have Python 3.7.4+ installed on your system to work.
  • The Homebrew Launcher Channel v2.1 (direct download)
  • The .rpx file of whichever homebrew program you are making a channel for
  • The Wii U Common Key
    • This is in the otp.bin file from your console's NAND dump. Extract it using this Common Key Extractor. Copy the key and save it in a text file somewhere; it will be needed later.
    • If you cannot get the extractor to work, the key can also be obtained by opening otp.bin in a hex editor, and is located at offsets 0x000000E0 to 0x000000EF. If extracted correctly, it should be a 32-character long hexadecimal number starting with D7B0.

Section I - CDecrypt

  1. Unzip the Homebrew Launcher Channel (will be referred to as the HBLC from here)
    • You can rename the containing folder for organizational purposes. For these instructions, we will rename it from homebrew_launcher_channel.v2.1 to my-cool-app
  2. Unzip CDecrypt
  3. Create a file named keys.txt in the same directory as the CDecrypt executable, and paste the Wii U Common Key on the first line
  4. Open a terminal and navigate to the location of the CDecrypt executable
  5. Use CDecrypt to decrypt the contents of the HBLC
    • For example, if you have the contents of the HBLC in a folder named my-cool-app, the command would be something like: CDecrypt "/path/to/my-cool-app/" "/path/to/my-cool-app/"
    • The folder with the HBLC's contents should now contain three new folders: code, content, and meta. Delete everything in this directory except these three folders
    • PLACEHOLDER FOR WHAT TO DO IF COMMON KEY IS WRONG

Section II - Editing code files

Section III - Editing meta files

Section IV - NUSPacker

  1. Open a terminal and navigate to the location of NUSPacker.jar
  2. Use NUSPacker to rebuild
    • For example, if the directory of your edited HBLC is my-cool-app, the command would be something like: java -jar NUSPacker.jar -in "/path/to/my-cool-app/" -out "/path/to/my-cool-app/" -encryptKeyWith XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (replace the XXXX... with the Wii U Common Key)