Hacking [GUIDE] How to compile IOSUHAX

punderino

aka Big-PeePee Swinger
OP
Member
Joined
Jan 5, 2016
Messages
1,247
Trophies
0
Age
32
Location
Kansas City, Missouri
Website
www.anus.trade
XP
2,512
Country
United States
THIS WILL NOT FULFILL YOUR IOSU NEEDS (yet)

None of my knowledge would be good or even complete without Datalogger! If you thank me, please thank him as well!

Section - 1
Setup Build Environment
Whenever you want to do anything like this, compiling iosuhax, or anything Wii U homebrew related, you're going to need devkitPro set up on your computer. Because this guide is mainly on building IOSUHAX I will only go through this briefly. If you want to learn how to set this up, click on the links below for your operating system.
Windows -
Mac -
Linux -
Once you have devkitPro set up in your environment, you need to download a compiled version of armips and add it to your PATH, for your environment variables, you will need this done for python2.7 as well. For my pastebin. You're gonna want to go to the website, and add /u/ and then my name on gbatemp. It'd be something like punderino after /u/. Just saying.


Section - 2
Setup for Compiling
Go to the github page and download iosuhax. This will be your build directory once extracted.
https://github.com/smealum/iosuhax
By reading the readme of this github it explains some of the things that need to be done in order to be ready to build this. He states these three bullet points, and we will go through then now.

  • decrypt your ancast image, prepend the raw signature header stuff to it and place it in ./bin/fw.img.full.bin
  • open up ./scripts/anpack.py, add your ancast keys in there
  • make
First off it wants us to have an ancast image. In normal speak, this is the Wii U's fw.img. This is where IOSU is sorta stored. To get this file, we're going to need to download a program with a copy of NUSDownloader for the Wii U. I recommend using UWizard.
https://gbatemp.net/threads/uwizard-all-in-one-wii-u-pc-program.386508/
Use this thread to set the program up. Once you have it all setup you're going to want to download OSv10 v15702(5.5.0-5.5.1), on the Github, smealum says it should only be compatible with 5.5.x, so until we have a method of NAND backup and restore, we will not touch this with any other firmware. Once we have our OSv10 downloaded, we're going to want to go into the code folder, and find fw.img. Drag this into the iosuhax folder that we downloaded off of Github earlier.

Section - 3
The "Dirty Work"
This is where it gets difficult, so I'm going to try and explain this to the best of my ability. For this, we're going to need a good Hex Editor. I recommend using HxD, it's a free program, and gets the job done.
https://mh-nexus.de/en/hxd/
Once downloaded, we're going to want to drag our fw.img into the empty window of HxD. You will see a bunch of spaced out pairs of numbers and letters.
SkQs52V.png

What I have selected here is the beginning to 0x200, we're going to want to CUT this. Do not delete it, cut it. We're going to need it later. Once it's cut, it will be removed from the fw.img. Save this now. Once you've saved our fw.img without the first 0x200, make a new file in HxD, on the top row there is a blank page on the left, click to to start the new file. Paste in what you just had cut out of the fw.img. Save it as "Header.bin". Once that's done we can now close our HxD entirely.
http://gnuwin32.sourceforge.net/packages/openssl.htm You'll need to install this.
We're want to run this command in CMD in our work directory "openssl enc -d -aes-128-cbc -nopad -K key -iv iv -in fw.img -out fw.d.img"
We'll also want to replace the iv and key with the starbucks ancast key and iv. I've heard you can get these in the pastebin described above at the end of section one. While we're at it, go ahead and open up the scripts folder, in there is a file called ancast.py, open it up with a GOOD editor, such as Notepad++, once you've done that go down to line 162, and replace line 162 to 166 with what's on the only pastebin from the user Punderino.

https://notepad-plus-plus.org/
Once you do this, you will have a file named fw.d.img. Go back into our hex editor and copy everything from the Header.bin and put it on the top of fw.d.img. Once you have that, save fw.d.img.
Make a folder named bin inside of iosuhax. Copy your fw.d.img inside of there, once it's in there, rename it to "fw.img.full.bin". Once you've done this open up the Makefile with Notepad++ as well. In there you will see it say python2 twice, replace python2 with just python and then save and close this. Once we've done all of this, we're ready to build.


Section - 4
Building IOSUHAX
Once we're done preparing all of our files, we're ready to build and troubleshoot. Bring up a command prompt (CMD) in the iosuhax, and run the command "make". Once you've done this, it will go through and attempt to compile everything for you. If you get an error code, please respond with it in the replys to this thread. I will be addressing each of them here.

Anything regarding 0x814000:
Go into my pastebin, and there's a link to download a zip file called sections. Replace the contents of that with what comes with IOSUHAX. You should be good to build after this.

Anything else, please reply to the thread explaining your issue.


If Anything Was Not Understood, Tell Me How I Can Improve It And I Will <3
 
Last edited by punderino,

punderino

aka Big-PeePee Swinger
OP
Member
Joined
Jan 5, 2016
Messages
1,247
Trophies
0
Age
32
Location
Kansas City, Missouri
Website
www.anus.trade
XP
2,512
Country
United States
My bad, didn't see the white text, was wondering why Step 4 was blank and thought the whole thing was a joke.




Also;


IOSU EXPLOIT /=/ SMEALUM's IOSUHAX TOOLS
Giant disclaimer at the top's point. xDD, with this, if we had a lot more hardmod knowledge, could we maybe use it. From what I understand we need an IOSU exploit, and then use the firmware image this creates as a replacement for the stock one. With that it just puts more commands into IOSU for us to use.
 
  • Like
Reactions: FlappyFalco

punderino

aka Big-PeePee Swinger
OP
Member
Joined
Jan 5, 2016
Messages
1,247
Trophies
0
Age
32
Location
Kansas City, Missouri
Website
www.anus.trade
XP
2,512
Country
United States

TSSableye

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
101
Trophies
0
Age
24
XP
95
Country
United States
This is a bunch of hacks for IOSU, once we have access, we'll be using this to do a lot of our work. Go on the Github and check the features.

The thread contains instructions to modify your consoles fw.bin with signature checks patched out, among other things. There is no known way to install it without an IOSU exploit

Oh mai...should I be hyped (σ ͜ʖσ)
 

Kohmei

Well-Known Member
Member
Joined
Feb 17, 2013
Messages
824
Trophies
0
XP
1,039
Country
United States
Oh mai...should I be hyped (σ ͜ʖσ)
In short, no.

I've been thinking lately about the strategic value of releasing iosuhax without the necessary exploit(s) to run any of it, and have reached the rather disappointing conclusion that it is more of an insurance policy than it is an actual contribution to the development of IOSU tools. Someone looking to profit financially from CFW (a la Gateway) would have most of their "product" publicly available because of this move, meaning if they were trying to sell the exploit with the necessary CFW procedures, the exploit would almost immediately become public, and combined with these tools, would make their product irrelevant. This would also allow unsigned titles to be installed directly to the system menu (loadiine would be irrelevant) so any dev who happens to be anti-piracy (just about all of them) would be even less inclined to release an IOSU exploit as the tools for unabashed piracy have already been made available. It seems like a stalemate to insure no one releases anything because there's either no incentive or counter-incentives for all parties
 
Last edited by Kohmei,

jimmyleen

Well-Known Member
Member
Joined
Feb 28, 2016
Messages
1,171
Trophies
0
XP
704
Country
iosuhax is pretty barebones, it's mainly just the following:
  • software nand dumping (bunch of ways to do this, dumps slc, slccmpt and mlc, either raw or filetree or something in between)
  • redNAND (redirection of nand read/writes to SD card instead of actual NAND chips)
  • remote shell for development and experimentation (cf wupserver and wupclient, it's super useful)
  • some basic ARM debugging stuff (guru meditation screen)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    rvtr @ rvtr: Spam bots again.