Hacking What is stopping us from hacking into the ISOU using the Kernel exploit?

Goopyjoe

Member
OP
Newcomer
Joined
Jun 17, 2016
Messages
14
Trophies
0
Age
27
XP
79
Country
United States
Just a quick explanation of the whole PPC=/=IOSU thing for the uninformed among us. This is heavily oversimplified.

In essence, the Wii U has two processors (well, technically three but the third one is boring and has to do with emulating a specific, obscure bit of the vWii). Anyway! Two processors - The PowerPC (what we can run code on using browserhax/take full control of with kernel) and the ARM (IOSU). These are completely separate entities, but they can communicate. This isn't like the Wii, however - the IOSU watches the PowerPC like a hawk and halts the system if the code falls out of line. This is done through a permissions system - The IOSU "knows" what app is running (Mii Maker, Internet Browser, retail disc etc.) and changes the conditions appropriately. For example, the Internet Browser has limited memory, so if we try to use memory that the Internet Browser can't use under browserhax the IOSU rather firmly stops that. Loadiine works by loading Mii Maker and quietly replacing it with a game. The IOSU still thinks Mii Maker is running (and applies limits as such - No USB, limited internet etc) while the PowerPC is actually running something completely different.
The point of all this is that while we can fool the IOSU, there's no simple way to modify it. Mii Maker will never need to fiddle with system settings or poke around the system's boot code, so the IOSU doesn't allow it. Since most homebrew runs under Mii Maker now, these restrictions apply to us as well. (And no, there isn't another app we can inject into to get around this. Someone public would have figured it out by now.)
There's another thing worth noting: Yes, the PowerPC can directly communicate with the IOSU (IPCK_ functions for all you aspiring developers). In fact, we even got a nice example of such communication straight from MN1 himself (Link). However, this does not immediately give us full access - Communication is not control. I can communicate with one of Google's servers, but I can't take control of it. The server decides which of my instructions it obeys or denies based on my access rights. The same principle applies to the IOSU - It decides whether it follows my commands based on which app I am (Mii Maker most of the time).

So to answer the OP, the IOSU is stopping us from hacking the IOSU. Even though we have full control of the PowerPC via the kernel, the IOSU still expects it to stay within certain boundaries and any attempts to get out of them (modifying the IOSU for instance) are quickly stopped.

What do we need then? Simply put, we need an exploit which appears normal enough to the IOSU right up until we take control of it. Whether that means covertly doing stuff it doesn't notice or abusing existing, perfectly normal functions, I don't know. It may even involve something unimaginable right now (Say what you will about the more infamous devs, but there's no denying that abusing the graphics card (!) to write to protected memory to replace a syscall with one that allows unrestricted PowerPC code is absolute genius).

If you're up for it, grab yourself a copy of fw.img from the NUS and the files that will literally tell you everything about it (Link). If you show interest, you'll soon find out about the place where the progress is being made (not GBATemp!) and hopefully we can all move towards getting a public exploit out there. There's a few awesome people working on this and they'd be damn happy to have another person on the team (You know who you are, we really appreciate all your work and the time you've sacrificed towards this!)

Wow, this turned out waaay longer than I was hoping... Hope you guys don't mind! I'm open to questions - I don't bite ;3

Thank you for writing this :P
 

Psi-hate

GBATemp's Official Psi-Hater
Member
Joined
Dec 14, 2014
Messages
1,750
Trophies
1
XP
3,439
Country
United States
Jesus, it's not like it's unprecedented. I mean the 3DS Userland exploit allowed you to downgrade your entire firmware!
... No you can't? The only way to downgrade/install legit cia files is to call the am.u service to get thrid ability to do so. There is literally no way to do that without arm11 kernel. If you're talking about snshax then that's an entirely different concept.
 

Swiftloke

Hwaaaa!
Member
Joined
Jan 26, 2015
Messages
1,772
Trophies
1
Location
Nowhere
XP
1,508
Country
United States
Jesus this is the cringe, Can someone lock the thread?
Just a quick explanation of the whole PPC=/=IOSU thing for the uninformed among us. This is heavily oversimplified.

In essence, the Wii U has two processors (well, technically three but the third one is boring and has to do with emulating a specific, obscure bit of the vWii). Anyway! Two processors - The PowerPC (what we can run code on using browserhax/take full control of with kernel) and the ARM (IOSU). These are completely separate entities, but they can communicate. This isn't like the Wii, however - the IOSU watches the PowerPC like a hawk and halts the system if the code falls out of line. This is done through a permissions system - The IOSU "knows" what app is running (Mii Maker, Internet Browser, retail disc etc.) and changes the conditions appropriately. For example, the Internet Browser has limited memory, so if we try to use memory that the Internet Browser can't use under browserhax the IOSU rather firmly stops that. Loadiine works by loading Mii Maker and quietly replacing it with a game. The IOSU still thinks Mii Maker is running (and applies limits as such - No USB, limited internet etc) while the PowerPC is actually running something completely different.
The point of all this is that while we can fool the IOSU, there's no simple way to modify it. Mii Maker will never need to fiddle with system settings or poke around the system's boot code, so the IOSU doesn't allow it. Since most homebrew runs under Mii Maker now, these restrictions apply to us as well. (And no, there isn't another app we can inject into to get around this. Someone public would have figured it out by now.)
There's another thing worth noting: Yes, the PowerPC can directly communicate with the IOSU (IPCK_ functions for all you aspiring developers). In fact, we even got a nice example of such communication straight from MN1 himself (Link). However, this does not immediately give us full access - Communication is not control. I can communicate with one of Google's servers, but I can't take control of it. The server decides which of my instructions it obeys or denies based on my access rights. The same principle applies to the IOSU - It decides whether it follows my commands based on which app I am (Mii Maker most of the time).

So to answer the OP, the IOSU is stopping us from hacking the IOSU. Even though we have full control of the PowerPC via the kernel, the IOSU still expects it to stay within certain boundaries and any attempts to get out of them (modifying the IOSU for instance) are quickly stopped.

What do we need then? Simply put, we need an exploit which appears normal enough to the IOSU right up until we take control of it. Whether that means covertly doing stuff it doesn't notice or abusing existing, perfectly normal functions, I don't know. It may even involve something unimaginable right now (Say what you will about the more infamous devs, but there's no denying that abusing the graphics card (!) to write to protected memory to replace a syscall with one that allows unrestricted PowerPC code is absolute genius).

If you're up for it, grab yourself a copy of fw.img from the NUS and the files that will literally tell you everything about it (Link). If you show interest, you'll soon find out about the place where the progress is being made (not GBATemp!) and hopefully we can all move towards getting a public exploit out there. There's a few awesome people working on this and they'd be damn happy to have another person on the team (You know who you are, we really appreciate all your work and the time you've sacrificed towards this!)

Wow, this turned out waaay longer than I was hoping... Hope you guys don't mind! I'm open to questions - I don't bite ;3
Except for that, I mean WOW.
That post really helped my understanding of the Wii U. I knew the basics, but you gave me a much more detailed description, and I really appreciate that, as I'm primarily on the 3ds scene (and have the matching knowledge). So thanks!
 
  • Like
Reactions: QuarkTheAwesome

EstPC13

Well-Known Member
Member
Joined
Jan 3, 2016
Messages
415
Trophies
0
Location
In your mind
XP
322
Country
Dominican Republic
Just a quick explanation of the whole PPC=/=IOSU thing for the uninformed among us. This is heavily oversimplified.

In essence, the Wii U has two processors (well, technically three but the third one is boring and has to do with emulating a specific, obscure bit of the vWii). Anyway! Two processors - The PowerPC (what we can run code on using browserhax/take full control of with kernel) and the ARM (IOSU). These are completely separate entities, but they can communicate. This isn't like the Wii, however - the IOSU watches the PowerPC like a hawk and halts the system if the code falls out of line. This is done through a permissions system - The IOSU "knows" what app is running (Mii Maker, Internet Browser, retail disc etc.) and changes the conditions appropriately. For example, the Internet Browser has limited memory, so if we try to use memory that the Internet Browser can't use under browserhax the IOSU rather firmly stops that. Loadiine works by loading Mii Maker and quietly replacing it with a game. The IOSU still thinks Mii Maker is running (and applies limits as such - No USB, limited internet etc) while the PowerPC is actually running something completely different.
The point of all this is that while we can fool the IOSU, there's no simple way to modify it. Mii Maker will never need to fiddle with system settings or poke around the system's boot code, so the IOSU doesn't allow it. Since most homebrew runs under Mii Maker now, these restrictions apply to us as well. (And no, there isn't another app we can inject into to get around this. Someone public would have figured it out by now.)
There's another thing worth noting: Yes, the PowerPC can directly communicate with the IOSU (IPCK_ functions for all you aspiring developers). In fact, we even got a nice example of such communication straight from MN1 himself (Link). However, this does not immediately give us full access - Communication is not control. I can communicate with one of Google's servers, but I can't take control of it. The server decides which of my instructions it obeys or denies based on my access rights. The same principle applies to the IOSU - It decides whether it follows my commands based on which app I am (Mii Maker most of the time).

So to answer the OP, the IOSU is stopping us from hacking the IOSU. Even though we have full control of the PowerPC via the kernel, the IOSU still expects it to stay within certain boundaries and any attempts to get out of them (modifying the IOSU for instance) are quickly stopped.

What do we need then? Simply put, we need an exploit which appears normal enough to the IOSU right up until we take control of it. Whether that means covertly doing stuff it doesn't notice or abusing existing, perfectly normal functions, I don't know. It may even involve something unimaginable right now (Say what you will about the more infamous devs, but there's no denying that abusing the graphics card (!) to write to protected memory to replace a syscall with one that allows unrestricted PowerPC code is absolute genius).

If you're up for it, grab yourself a copy of fw.img from the NUS and the files that will literally tell you everything about it (Link). If you show interest, you'll soon find out about the place where the progress is being made (not GBATemp!) and hopefully we can all move towards getting a public exploit out there. There's a few awesome people working on this and they'd be damn happy to have another person on the team (You know who you are, we really appreciate all your work and the time you've sacrificed towards this!)

Wow, this turned out waaay longer than I was hoping... Hope you guys don't mind! I'm open to questions - I don't bite ;3
@fiveighteen ,@NWPlayer123 , do you mind putting this in your respective stickies?, it would really help
 
  • Like
Reactions: fiveighteen
D

Deleted User

Guest
"What is stopping blah blah blah ISOU exploit"

No, we can't get into the ISOU (us normies atleast) untill they release an exploit for it.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: im back