Tutorial  Updated

Building iosuhax on windows

In this tutorial I will go over how to build iosuhax from either my branch (for wupserver only) or dimoks branch (for rednand and signature patches) without having anything related installed yet.

Getting python
The first thing you want to do is download python, for this guide you will click download python 3.5, this will give you the current 3.5 32bit installer of python. If you already have a python 2 installation and you dont want to uninstall for python 3 then skip this step but note that you may have to add the python installation path into the PATH variable yourself if you didnt do that during that installation.
After opening the 3.5 32bit installer make sure to enable "Add Python 3.5 to PATH" because we want to be able to call python from anywhere, now let it install.

Installing pycrypto
To easly install pycrypto we will install it from this github page for the current 3.5 or this page for 2.7 if you have that. Open up a command prompt by for example pressing windows+r and typing in "cmd", in this command prompt you want to enter the following (just copy paste this depending on your python version):
PYTHON 3
Python 3.5 32bit:
Code:
pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win32.whl pycrypto
Python 3.5 64bit:
Code:
pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto
PYTHON 2
Python 2.7 32bit:
Code:
pip install --use-wheel --no-index --find-links=https://bitbucket.org/alexandrul/wheels/downloads/pycrypto-2.6.1-cp27-none-win32.whl pycrypto
Python 2.7 64bit:
Code:
pip install --use-wheel --no-index --find-links=https://bitbucket.org/alexandrul/wheels/downloads/pycrypto-2.6.1-cp27-none-win_amd64.whl pycrypto
If you have any older python 2/3 version then maybe just consider upgrading to the current version of python 2/3.
This will automatically install pycrypto for your python version, just let it finish up.

Getting devkitARM
Download the devkitpro updater from here and start it up, it will give you quite a few options on things to install, all you need to select is "Minimal System" and "devkitARM", you can uncheck everything else. Now just let it download and install everything.

Getting armips
For armips you can just download my pre-compiled exe and put it into "C:\devkitPro\msys\bin" so it can be directly used on compilation.

Downloading and preparing iosuhax
Depending on what you want head over to my branch or dimoks branch, click on "Clone or download" and if you have git then clone it, if you dont have git just click "Download ZIP" and extract the contents of it into a new folder on your computer. Make sure that new full folder path does not contain any spaces, a wrong path would be "C:\my folder\iosuhax", a correct folder would be "C:\my_folder\iosuhax".

Now if you have "the 2 keys" already you can edit the getfwimg from the little guide below:
Go into the "bin" folder, right click on getfwimg and select "Edit with IDLE", put the 2 keys in like this:
Code:
wiiu_common_key = "D7000000000000000000000000000000"
starbuck_ancast_key = "B5000000000000000000000000000000"
Of course these are not the full keys but only their first 2 digits. Now just save it.
If you dont have "those 2 keys" you can easly get them from your wiiu itself like this without having to edit any scripts:
Go grab otp2sd and start it via the homebrew launcher, it will just restart you and place a otp.bin on your wiiu sd card. Copy that otp.bin one folder above the iosuhax one so in our example let iosuhax be in "C:\my_folder\iosuhax", so you copy otp.bin into "C:\my_folder", iosuhax will find that otp.bin and use it automatically, you dont need to edit any scripts this way.

Now that you finally prepared iosuhax its time to compile it! Shift-right click in the iosuhax main folder, click on "Open command window here" and just type in "make" and press enter, this will get you a fw.img as output which you can put on you sd card root and use in cfw booter! If it failed to compile because of commands being unknown you may have to reboot your computer to make sure it properly installed all of the software.

I hope with this you were able to successfully compile iosuhax, now have fun with it :)

Note by Cyan:
Dimok branch can now build both CFW with and without NAND redirection to SD card, while Fix94 branch only compile a SysNAND CFW.

Fix94 branch : sysNAND. doesn't have latest cfw patches, but fix94 version contain new wupserver command instead.
Dimok branch : sysNAND and redNAND. This branch has currently more features than fix94 branch (allows HBL channel version installation, unrestricted NAND FTP access, NAND to SD dump, FAT32 USB mount support, etc.)

When you are at the compiling step,
fix94 sysNAND, type : make
dimok sysNAND, type : make cfw
dimok redNAND, type : make redNAND
by default, typing only "make" on dimok branch, it will build redNAND
 
Last edited by Cyan, , Reason: Added new compile steps and differences between Fix94 and Dimok branches.

GATWYAY3.2

Well-Known Member
Member
Joined
Apr 28, 2015
Messages
261
Trophies
0
Age
43
XP
362
Country
United States
I keep getting this followed guide exactly
Code:
C:\Users\owner\Desktop\iosuhax\iosuhax-master>make
make[1]: Entering directory `/c/Users/owner/Desktop/iosuhax/iosuhax-master'
getfwimg.py:23: Warning: 'with' will become a reserved keyword in Python 2.6
  File "getfwimg.py", line 23
    with open(otpbinpath,'rb') as f:
            ^
SyntaxError: invalid syntax
make[1]: *** [bin/fw.img.full.bin] Error 1
make[1]: Leaving directory `/c/Users/owner/Desktop/iosuhax/iosuhax-master'
make: *** [redNAND] Error 2

C:\Users\owner\Desktop\iosuhax\iosuhax-master>
 

GATWYAY3.2

Well-Known Member
Member
Joined
Apr 28, 2015
Messages
261
Trophies
0
Age
43
XP
362
Country
United States
yea, you need at least python 2.6 or newer, the error you get even tells you that you are still on python 2.5.
this is what i thought so i keep downloading 3.5 , your link and the installer says thank you for installing 3.5 32 bit but yet cmd keeps telling me it's 2.5 ,running windows 7 can i not have 3.5 ? whats going on not understanding

trying 2.7 now update .. nope nothing working even unstalled everything still getting game error strange no idea ill just try on a different computer i guess
 
Last edited by GATWYAY3.2,

GATWYAY3.2

Well-Known Member
Member
Joined
Apr 28, 2015
Messages
261
Trophies
0
Age
43
XP
362
Country
United States
anyone know how to remove 2.5.2 from my system so i can use 3.5? i cant even locate its path
Code:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\owner>python
Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
start menu > control pannel > programs > python > uninstall?

Another way is to install both, and replace/keep only the path to your python version you want to use in your environment variable.
 
  • Like
Reactions: GATWYAY3.2

GATWYAY3.2

Well-Known Member
Member
Joined
Apr 28, 2015
Messages
261
Trophies
0
Age
43
XP
362
Country
United States
start menu > control pannel > programs > python > uninstall?

Another way is to install both, and replace/keep only the path to your python version you want to use in your environment variable.
so 2.5 was located in an HP file in my windows folder must have came with the pc anyways prompt now recognizes 3.5 but "make" now gives new error
Code:
C:\Users\owner\Desktop\my_folder\iosuhax>make
make[1]: Entering directory `/c/Users/owner/Desktop/my_folder/iosuhax'
Traceback (most recent call last):
  File "getfwimg.py", line 12, in <module>
    from Crypto.Cipher import AES
ImportError: No module named 'Crypto'
make[1]: *** [bin/fw.img.full.bin] Error 1
make[1]: Leaving directory `/c/Users/owner/Desktop/my_folder/iosuhax'
make: *** [redNAND] Error 2

C:\Users\owner\Desktop\my_folder\iosuhax>
 

GATWYAY3.2

Well-Known Member
Member
Joined
Apr 28, 2015
Messages
261
Trophies
0
Age
43
XP
362
Country
United States
now that python 2.5 is gone you can just follow the guide from "installing pycrypto" and it will actually do so.
yep forgot to reinstall with cmd code line compiling . now have fw.img and fw.img.full bin

--------------------- MERGED ---------------------------

Also if anyone else runs into this problem but with devkitPro i kept getting internet connection errors and read disabling AVG fixes this but it didn't work for me instead i just jammed the "Retry" button by hitting enter continuously
 

GATWYAY3.2

Well-Known Member
Member
Joined
Apr 28, 2015
Messages
261
Trophies
0
Age
43
XP
362
Country
United States
so the FW.img i ceated isn't working with cfw booter on wiiu Homebrew instead it brings me back to the main menu but when i grab someone elses fw,img file from a different tutorial cw booter worked. whats going on here?


update* sigh ... so hax compiles 2 fw.img files one on the root of the hax folder and the second in bin folder which was the one not working
 
Last edited by GATWYAY3.2,

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,864
Trophies
2
Location
At Home :)
XP
4,450
Country
I have noticed that Python got updated and the master folders by Fix or Dimok wont seem to compile anymore? has anyone else tried.
 

Plasma816

Well-Known Member
Newcomer
Joined
Aug 9, 2016
Messages
68
Trophies
0
Age
22
XP
86
Country
United States
xzzzzzzzzz.PNG

I get this when trying to install pycrypto in cmd...help?

--------------------- MERGED ---------------------------

Never mind, fixed this soon after.
 

Silails

Member
Newcomer
Joined
Jul 22, 2017
Messages
9
Trophies
0
Age
25
XP
44
Country
France
I got this error, please help me

arm-none-eabi-objdump -EB -t -marm ios_fs.elf | grep 'g F .text' | grep -v '.hidden' | awk '{print $6 " equ 0x" $1}' > ios_fs.syms
arm-none-eabi-objdump -EB -t -marm ios_fs.elf | grep -e 'g .text' -e '_bss_' | awk '{print $5 " equ 0x" $1}' >> ios_fs.syms
arm-none-eabi-objcopy -j .text -j .rodata -O binary ios_fs.elf ios_fs.text.bin
make[2]: Leaving directory `/c/Users/HP/Desktop/jeux/emulateur/WiiU/fwdimg/iosuhax_master/ios_fs'
patches/0x10700000.s
make[1]: execvp: armips: Bad file number
make[1]: *** [patched_sections/0x10700000.bin] Error 127
make[1]: Leaving directory `/c/Users/HP/Desktop/jeux/emulateur/WiiU/fwdimg/iosuhax_master'
make: *** [redNAND] Error 2
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,256
Trophies
4
Location
Space
XP
13,816
Country
Norway
I got this error, please help me

arm-none-eabi-objdump -EB -t -marm ios_fs.elf | grep 'g F .text' | grep -v '.hidden' | awk '{print $6 " equ 0x" $1}' > ios_fs.syms
arm-none-eabi-objdump -EB -t -marm ios_fs.elf | grep -e 'g .text' -e '_bss_' | awk '{print $5 " equ 0x" $1}' >> ios_fs.syms
arm-none-eabi-objcopy -j .text -j .rodata -O binary ios_fs.elf ios_fs.text.bin
make[2]: Leaving directory `/c/Users/HP/Desktop/jeux/emulateur/WiiU/fwdimg/iosuhax_master/ios_fs'
patches/0x10700000.s
make[1]: execvp: armips: Bad file number
make[1]: *** [patched_sections/0x10700000.bin] Error 127
make[1]: Leaving directory `/c/Users/HP/Desktop/jeux/emulateur/WiiU/fwdimg/iosuhax_master'
make: *** [redNAND] Error 2
You don't need to compile iosuhax anymore. You can just use Haxchi FW or Mocha.
 
  • Like
Reactions: LaPingas

ricktendo

Member
Newcomer
Joined
Jul 21, 2017
Messages
18
Trophies
0
Age
45
XP
186
Country
Honduras
Any instructions on how to compile using Linux?

Now that there is Windows Subsystem for Linux this should be easier.

Edit: never mind it was not too difficult to figure out.

Prerequisites:
##### devkitARM #####
curl -L https://raw.githubusercontent.com/devkitPro/installer/master/perl/devkitARMupdate.pl -o devkitARMupdate.pl
chmod +x ./devkitARMupdate.pl
./devkitARMupdate.pl /opt/devkitpro
echo "export DEVKITPRO=/opt/devkitpro" >> ~/.bashrc
echo "export DEVKITARM=/opt/devkitpro/devkitARM" >> ~/.bashrc
source ~/.bashrc

Notes: I am logged in as root so add "sudo" before your command if you get an error, you may need to install cmake and pycrypto as these are not installed by default (python should already be installed)

##### cmake #####
apt install cmake

##### pycrypto #####
pip install pycrypto

##### armips #####
git clone --recursive https://github.com/Kingcom/armips.git
cd armips
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
cp armips /bin/armips

Notes: Once you have the prereqs you can compile your fw.img, here is an example command you use to CD to a folder on your HDD (in this example I will be using "C:\iosuhax-master" directory)

##### compile #####
cd /mnt/c/iosuhax-master
make cfw
 
Last edited by ricktendo,

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
why do you want to compile this old, unused anymore, firmware file ?
if you have a reason and really want THAT old firmware, I would understand.

if you just want to hack your console and you followed an old tutorial, just don't. there are new method to do it.
 

ricktendo

Member
Newcomer
Joined
Jul 21, 2017
Messages
18
Trophies
0
Age
45
XP
186
Country
Honduras
why do you want to compile this old, unused anymore, firmware file ?
if you have a reason and really want THAT old firmware, I would understand.

if you just want to hack your console and you followed an old tutorial, just don't. there are new method to do it.
I am relatively new to the scene so forgive me, I am trying to create my SD with mocha cfw and also cfwbooter (which is why I am looking to compile a fw.img of my own) to be able to play games with DLC.

Can you maybe tell me what method you are referring to and also what fw.img source is the best to compile? (like I said not looking for anything fancy, I just want to play CFW only tittles)

Edit: So what I gather so far, I have Haxchi installed which gives me 3 options: cfwbooter (requires fw.img,) mocha cfw and sysmenu (these last two require no fw.img)
 
Last edited by ricktendo,

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
no, you are mixing information a little.

There are different options for you to get signature patches, in order to play DLC.

1. IOSU Hax : OLD, DEPRECATED : firmware reloader. that's what you are trying to use. just don't.
This one required you to dump/download the official firmware, patch it on computer with development tools, put it on SD card, and launch homebrew to reload that patched firmware.
patched firmware image (fw.img) could be of two type : WUP server only (fix94 version) and Signature patch + NAND redirection option (Dimok version)

2. Mocha : This one is a FULL independent homebrew. it's the updated version of "fw.img by Dimok" (the deprecated, old option just above). this one have a LOT more option than the fw.img method.
Instead of patching the firmware yourself on computer with dev tools, the console is doing it on the fly!

To run it, launch the homebrew launcher, and select Mocha homebrew.
do not activate the NAND redirection, and your firmware will have the signature check patched to allow DLC, game from another region and games which are originating from eshop.

This option is still NOT the one you should use.
unless what you want is NAND redirection, for a real reason. if you just want to test it, just don't. you don't need it. you are not a developer, you have not a modder, you will never need NAND redirection on WiiU.

3. signature patcher:
There is a homebrew you can launch from the homebrew launcher which ONLY patch the signature check to allow pirated content and return to system menu.
This is a "QUICK CFW" solution from Homebrew launcher, faster than Mocha.


4. Haxchi : This one is the minimum you should use.
it's a persistent hack, meaning it's installed on your console and you can use it to launch ANY homebrew without using the browser hack.
ANY homebrew, like, for example, Mocha.
but, DO NOT USE Haxchi to launch Mocha !!! that's unnecessary.

Haxchi has its OWN CFW !
Haxchi let you patch the firmware on the fly (the same way than Mocha), and it does it faster.
Haxchi = faster Mocha.


Haxchi has the option to either :
- patch the system
- launch any fw.img to patch the system (deprecated !!!! DON'T USE IT ! use the first option instead)
- launch any homebrew

To select the action, it allows you to press a button to detect what you want to do.
by default, if you don't press any button, it launches the homebrew located here : sd:/wiiu/apps/homebrew_launcher/homebrew_launcher.elf
(yes, by default, it launches the Homebrew launcher, which is itself a homebrew that Haxchi is launching)
As you see, it's not booting mocha, it's booting the homebrew launcher, and you have to boot mocha yourself, but DON'T DO IT! DO NOT USE MOCHA!

If you press B, and keep that B button pressed when launching haxchi, it will PATCH THE SYSTEM TO PLAY DLC !!! no need of Mocha, no need of fw.img, but need a gamepad with a working B button and a working hand so you can press it !

But, it's a temporary patch, done on the fly by the console when you press B, and it stays up until you shutdown the console.
you have to launch Haxchi + B again next time you want to play a game which require signature patch (any pirated content, DLC, eShop, other region, modded browser, etc.)

If pressing B bother you, you can edit the button combo and set default (no button pressed) to patched system menu instead.


5. CBHC : ColdBoot Haxchi
This one is a modification of the console's system file, used to auto-boot Haxchi instead of the system menu.
in this method, you don't need to launch haxchi yourself when you (re)boot the console ! the console is loading haxchi for you, and you don't need to press B button anymore.
By default, CBHC is loading Haxchi in "firmware patch" mode.
When you boot your console, you go to a Already-patched-firmware system menu.

Boot the console -> play pirated DLC !





So, your options are, in preference order (and, you'll notice, in "latest released" order) :
5. Install CBHC
OR
4. install and launch Haxchi + B button (or edit the button layout to set the shortcut you want)
OR
3. browser exploit and launch Signature patcher if you don't have CBHC nor Haxchi installed
OR
2. Browser exploit and launch Mocha from homebrew launcher if you don't have CBHC nor Haxchi installed.

Things you should not use:
1. IOSU Hack


What you should do :
Just install CBHC, and stop worrying.
it's a full custom firmware, like you get on other consoles (PS3, PSP, etc.)
 
Last edited by Cyan,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: good night