Homebrew Official 5.5.X ELF Loader

NWPlayer123

Well-Known Member
OP
Member
Joined
Feb 17, 2012
Messages
2,642
Trophies
0
Location
The Everfree Forest
XP
6,693
Country
United States
So, I've spent the past 4 or 5 days fiddling with this to get it to work and it finally does, allows you to load a gigantic ELF into JIT, since apparently it's 32MB (and no RPX gets that big, even uncompressed because of the data section), and I just got it working. I've only tested it on my system but it should work on others if you have the ELF in the right place. It's provided as-is, with no warranty, feel free to do as you see fit. I'll get a better ELF documentation/structuring done soon.

Technical Explanation
If you wanna know how it works, I reused some code from FIX's ELF loader in libwiiu but I had to redo the whole thing because it was giving me lots of problems. It uses the very end of MEM1 (0xF5FFFFE0-FF)
to store stuff while it works, then copies the ELF into 0xF5800000 (slightly before that), it might have trouble with bigger stuff so I'd suggest developing file loading using sockets. It uses a catch() function at the start so I can jump to it to recover ROP chains. All the ROP does is copy the loader to the very end of JIT, and then reruns all the ROP to copy sections into the start as needed and then jumps to it.

Usage
It searches for a URL with /payload, so host it somewhere with a URL like http://192.168.0.7/payload?elfloader, it'll cut off that part and load a file called boot.elf (http://192.168.0.7/boot.elf)

Downloads??
Attached is libwiiu source for the ELF loader and the Hello World ELF I used to test. You can grab the code550.bin and host it wherever. It will probably only work on 5.5.X because of the ROP. Also had MrRean help me get this working, so thanks.
 

Attachments

  • loadelf.zip
    36.9 KB · Views: 1,722
  • boot.zip
    1.1 KB · Views: 1,293
Last edited by NWPlayer123,

NWPlayer123

Well-Known Member
OP
Member
Joined
Feb 17, 2012
Messages
2,642
Trophies
0
Location
The Everfree Forest
XP
6,693
Country
United States
Would this help the development of Emulators ?
Definitely, gives you lots more room to work with
Are there any ELF files to load right now?

How can we develop them ourselves?
There aren't any now but I have plans for a whole homebrew framework, you can go look at the libwiiu source for an example https://github.com/wiiudev/libwiiu/tree/master/elfexamples/helloelf/src
Loadiine Elf ?
This could technically load in loadiine's ELF but it's not possible to run loadiine with just this because you need to patch the kernel for a bunch of stuff.
I'm probably doing something wrong. Pardon me, it's early and I'm dumb.
Let's say my server is http://22.22.22.22
It contains http://22.22.22.22/code550.bin and http://22.22.22.22/boot.elf
I opened the Wii browser, put in the address http://22.22.22.22/code550.bin and it says it can't load file.
What should I actually do.
You need to be using an exploit, yellows8 makes you create a php file which you then run, so you could have /payload?sysver=550 to load the code550.bin, or you could make it easy and use this. It'll let you put the code in /payloads, and the elf in /data (folders in the same place as the jar file), and then you can connect with /payload?elfloader (with /payload/elfloader.bin)
 

Noy2222

Active Member
Newcomer
Joined
Jan 20, 2012
Messages
28
Trophies
0
XP
170
Country
I think this goes over my head. Going to either need a much more detailed guide (don't feel the need to create one, I should probably just wait for -) or a much more script kiddie method.
 

NWPlayer123

Well-Known Member
OP
Member
Joined
Feb 17, 2012
Messages
2,642
Trophies
0
Location
The Everfree Forest
XP
6,693
Country
United States
Will this work self hosted from an ez share card?
I'm not sure how those work, but if it's not like a normal server, you're probably out of luck. Browser doesn't have access to SD card without special permissions and this is a userspace-only thing. It shouldn't be too bad to modify it to load multiple .ELF files like a full homebrew channel thing, hosted on some server.
So what can we exactly do with this .ELF loader, NWPlayer?
Anything a normal program could, sound, music, graphics, games, fonts. You can do everything from a simple media player to a full blown game (minus load times)
 
Last edited by NWPlayer123,

Flux0

Well-Known Member
Newcomer
Joined
Jan 3, 2016
Messages
94
Trophies
0
Age
44
XP
505
Country
United States
Unfortunately, no, browser doesn't have access to SD card without special permissions and this is a userspace-only thing. It shouldn't be too bad to modify it to load multiple .ELF files like a full homebrew channel thing, hosted on some server.

An ez share has a built in wifi access point to let devices connect to it. The main purpose they are marketed for is remote downloading of pictures off digital cameras. However the self contained AP along with the micro SD slot make them pretty good for self hosting stuff on the Wii U.

I was asking about if it works because it is just a fairly basic http server running there and didn't know if it needed anything beyond that.
 

NWPlayer123

Well-Known Member
OP
Member
Joined
Feb 17, 2012
Messages
2,642
Trophies
0
Location
The Everfree Forest
XP
6,693
Country
United States
An ez share has a built in wifi access point to let devices connect to it. The main purpose they are marketed for is remote downloading of pictures off digital cameras. However the self contained AP along with the micro SD slot make them pretty good for self hosting stuff on the Wii U.

I was asking about if it works because it is just a fairly basic http server running there and didn't know if it needed anything beyond that.
Oh, then yeah, that should be fine with yellows8's package.
 
  • Like
Reactions: Flux0

duffmmann

Well-Known Member
Member
Joined
Mar 11, 2009
Messages
3,966
Trophies
2
XP
2,306
Country
United States
Wasn't one of the first things done when the Wii was exploited in Twilight Princess run .elf files? I think it was, and I recall a Sega Genesis emulator being one of the first .elf files. And eventually that method led to the ability to install the homebrew channel... is that theoretically possible with this kind of thing? Would we possibly through this method be able to install a Wii U homebrew channel (if someone managed to develop one) Cuz if so, this could be freaking huge.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • RedColoredStars @ RedColoredStars:
    I bought 4 of the N64 Switch controllers and scalped 3 of them because.... too many people just can't wait for more stock. lol
  • RedColoredStars @ RedColoredStars:
    I have a Wireless Wavebird too. Sweet GC controller.
  • Xdqwerty @ Xdqwerty:
    wth is going on
  • Faust03 @ Faust03:
    we're just talking about controllers
  • K3Nv2 @ K3Nv2:
    Yeah now we gotta talk about what @Xdqwerty wants to
    +1
  • Faust03 @ Faust03:
    ok
  • Psionic Roshambo @ Psionic Roshambo:
    Will it be about how horrible things are?
  • K3Nv2 @ K3Nv2:
    I'm hoping it's about switch games
    +1
  • Faust03 @ Faust03:
    I never got to play xenoblade x
  • Faust03 @ Faust03:
    I'm glad it's gonna be on switch
  • RedColoredStars @ RedColoredStars:
    I never played it either, despite having it on my modded WIi U. I'll play it on the Switch successor.
  • K3Nv2 @ K3Nv2:
    I played with my blade but it had two more Xs
  • Psionic Roshambo @ Psionic Roshambo:
    Play it on PC on Dolphin lol
  • RedColoredStars @ RedColoredStars:
    My mom txt me and said she found out today that her kidney disease is now at stage 5. Kidney failure. She has to go tomorrow to see if she will have dialysis or needs a donor. She's 79. :(
  • Faust03 @ Faust03:
    Oh no :(
  • Psionic Roshambo @ Psionic Roshambo:
    Find a nice healthy jogger and just steal one for her!
  • RedColoredStars @ RedColoredStars:
    Plus several other health issues on top of that.
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, No no keep talking about what you were talking about
  • Xdqwerty @ Xdqwerty:
    I apologize for being so annoying
  • Xdqwerty @ Xdqwerty:
    @Vetusomaru, image is broken
    Xdqwerty @ Xdqwerty: @mousefitzgerald, welcome