Hacking Wii U Hacking & Homebrew Discussion

Goku Junior

Well-Known Member
Member
Joined
Dec 27, 2013
Messages
951
Trophies
0
Age
24
Location
Buenos Aires, Argentina
XP
492
Country
Argentina
What the hell?
DarkFlare69, who I work on my website with, sent me this:
#define START_SECTION __attribute__ ((section (".text.start"), naked))
#ifndef __PIE__
#error "Must compile with -fPIE"
#endif

int(*IFile_Open)(void *this, const short *path, int flags) = 0x0022FE08;
int(*IFile_Write)(void *this, unsigned int *written, void *src, unsigned int len) = 0x00168764;
int (*GX_SetTextureCopy)(void *input_buffer, void *output_buffer, unsigned int size, int in_x, int in_y, int out_x, int out_y, int flags) = 0x0011DD48;
int (*GSPGPU_FlushDataCache)(void *addr, unsigned int len) = 0x00191504;
int (*svcSleepThread)(unsigned long long nanoseconds) = 0x0023FFE8;

int uvl_entry();

int START_SECTION
uvl_start ()
{
__asm__ volatile (".word 0xE1A00000");
uvl_entry();
__asm__ volatile ("bx lr");
}

int
uvl_entry ()
{
unsigned int addr;
void *this = 0x08F10000;
int *written = 0x08F01000;
int *buf = 0x18410000;

unsigned int offset = 0;
unsigned int i;
unsigned int f;

svcSleepThread(0x400000LL);

//copy block of memory to buffer
addr = 0x1413B000;//This is the address we'll take memory from in the game
GSPGPU_FlushDataCache(addr, 0x10000);
GX_SetTextureCopy(addr, buf, 0x10000, 0, 0, 0, 0, 8);
GSPGPU_FlushDataCache(buf, 0x10000);

for (i = 0; i < 0x10000; i++)//Scan RAM for a constant value between regions
{
if ((buf == 0x00610064) && (buf[i + 1] == 0x00610074) && (buf[i + 2] == 0x002F003A) && (buf[i + 3] == 0x0073002F))
{
offset = i - 2291;

//Write screen buff so we know it worked
GSPGPU_FlushDataCache(0x18000000, 0x00038400);
GX_SetTextureCopy(0x18000000, 0x1F48F000, 0x00038400, 0, 0, 0, 0, 8);
svcSleepThread(0x400000LL);
GSPGPU_FlushDataCache(0x18000000, 0x00038400);
GX_SetTextureCopy(0x18000000, 0x1F4C7800, 0x00038400, 0, 0, 0, 0, 8);
svcSleepThread(0x400000LL);
}
}

f = offset;

buf[f] = 0xFF0088B8;//Values for the hack

//flush back to memory and also write to file for debugging
svcSleepThread(0x400000LL);
GSPGPU_FlushDataCache(buf, 0x10000);
GX_SetTextureCopy(buf, addr, 0x10000, 0, 0, 0, 0, 8);
GSPGPU_FlushDataCache(addr, 0x10000);
//Write to RAM so the Wii U can read it;
svcSleepThread(0x400000LL);

return 0;
}

He said it was some sort of RAM hack for the wiiu. He's a bit of a..... don't want to say troll, but he's "off", so I doubt this is real, but could someone tell me what the hell this is?

Maybe is a dump of the RAM from GX2 (Wii U Main GPU) :unsure:
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
I don't need anything more than the ability to run homebrew for my porting stuff. I'm just fed up with those whining about "no possibility to run backups?" or "I want piracy". Don't they have some other problems...?


Lol, no one really cares, let people do what they will :P As long as the Wii U is hacked, what does it matter?:creep: Are you a hacker?:lol:
 
  • Like
Reactions: Kelton2

Marionumber1

Well-Known Member
Member
Joined
Nov 7, 2010
Messages
1,234
Trophies
3
XP
4,045
Country
United States
What the hell?
DarkFlare69, who I work on my website with, sent me this:
#define START_SECTION __attribute__ ((section (".text.start"), naked))
#ifndef __PIE__
#error "Must compile with -fPIE"
#endif

int(*IFile_Open)(void *this, const short *path, int flags) = 0x0022FE08;
int(*IFile_Write)(void *this, unsigned int *written, void *src, unsigned int len) = 0x00168764;
int (*GX_SetTextureCopy)(void *input_buffer, void *output_buffer, unsigned int size, int in_x, int in_y, int out_x, int out_y, int flags) = 0x0011DD48;
int (*GSPGPU_FlushDataCache)(void *addr, unsigned int len) = 0x00191504;
int (*svcSleepThread)(unsigned long long nanoseconds) = 0x0023FFE8;

int uvl_entry();

int START_SECTION
uvl_start ()
{
__asm__ volatile (".word 0xE1A00000");
uvl_entry();
__asm__ volatile ("bx lr");
}

int
uvl_entry ()
{
unsigned int addr;
void *this = 0x08F10000;
int *written = 0x08F01000;
int *buf = 0x18410000;

unsigned int offset = 0;
unsigned int i;
unsigned int f;

svcSleepThread(0x400000LL);

//copy block of memory to buffer
addr = 0x1413B000;//This is the address we'll take memory from in the game
GSPGPU_FlushDataCache(addr, 0x10000);
GX_SetTextureCopy(addr, buf, 0x10000, 0, 0, 0, 0, 8);
GSPGPU_FlushDataCache(buf, 0x10000);

for (i = 0; i < 0x10000; i++)//Scan RAM for a constant value between regions
{
if ((buf == 0x00610064) && (buf[i + 1] == 0x00610074) && (buf[i + 2] == 0x002F003A) && (buf[i + 3] == 0x0073002F))
{
offset = i - 2291;

//Write screen buff so we know it worked
GSPGPU_FlushDataCache(0x18000000, 0x00038400);
GX_SetTextureCopy(0x18000000, 0x1F48F000, 0x00038400, 0, 0, 0, 0, 8);
svcSleepThread(0x400000LL);
GSPGPU_FlushDataCache(0x18000000, 0x00038400);
GX_SetTextureCopy(0x18000000, 0x1F4C7800, 0x00038400, 0, 0, 0, 0, 8);
svcSleepThread(0x400000LL);
}
}

f = offset;

buf[f] = 0xFF0088B8;//Values for the hack

//flush back to memory and also write to file for debugging
svcSleepThread(0x400000LL);
GSPGPU_FlushDataCache(buf, 0x10000);
GX_SetTextureCopy(buf, addr, 0x10000, 0, 0, 0, 0, 8);
GSPGPU_FlushDataCache(addr, 0x10000);
//Write to RAM so the Wii U can read it;
svcSleepThread(0x400000LL);

return 0;
}

He said it was some sort of RAM hack for the wiiu. He's a bit of a..... don't want to say troll, but he's "off", so I doubt this is real, but could someone tell me what the hell this is?


This is 3DS code...
 

Relys

^(Software | Hardware) Exploit? Development.$
Member
Joined
Jan 5, 2007
Messages
878
Trophies
1
XP
1,239
Country
United States
What the hell?
DarkFlare69, who I work on my website with, sent me this:
#define START_SECTION __attribute__ ((section (".text.start"), naked))
#ifndef __PIE__
#error "Must compile with -fPIE"
#endif

int(*IFile_Open)(void *this, const short *path, int flags) = 0x0022FE08;
int(*IFile_Write)(void *this, unsigned int *written, void *src, unsigned int len) = 0x00168764;
int (*GX_SetTextureCopy)(void *input_buffer, void *output_buffer, unsigned int size, int in_x, int in_y, int out_x, int out_y, int flags) = 0x0011DD48;
int (*GSPGPU_FlushDataCache)(void *addr, unsigned int len) = 0x00191504;
int (*svcSleepThread)(unsigned long long nanoseconds) = 0x0023FFE8;

int uvl_entry();

int START_SECTION
uvl_start ()
{
__asm__ volatile (".word 0xE1A00000");
uvl_entry();
__asm__ volatile ("bx lr");
}

int
uvl_entry ()
{
unsigned int addr;
void *this = 0x08F10000;
int *written = 0x08F01000;
int *buf = 0x18410000;

unsigned int offset = 0;
unsigned int i;
unsigned int f;

svcSleepThread(0x400000LL);

//copy block of memory to buffer
addr = 0x1413B000;//This is the address we'll take memory from in the game
GSPGPU_FlushDataCache(addr, 0x10000);
GX_SetTextureCopy(addr, buf, 0x10000, 0, 0, 0, 0, 8);
GSPGPU_FlushDataCache(buf, 0x10000);

for (i = 0; i < 0x10000; i++)//Scan RAM for a constant value between regions
{
if ((buf == 0x00610064) && (buf[i + 1] == 0x00610074) && (buf[i + 2] == 0x002F003A) && (buf[i + 3] == 0x0073002F))
{
offset = i - 2291;

//Write screen buff so we know it worked
GSPGPU_FlushDataCache(0x18000000, 0x00038400);
GX_SetTextureCopy(0x18000000, 0x1F48F000, 0x00038400, 0, 0, 0, 0, 8);
svcSleepThread(0x400000LL);
GSPGPU_FlushDataCache(0x18000000, 0x00038400);
GX_SetTextureCopy(0x18000000, 0x1F4C7800, 0x00038400, 0, 0, 0, 0, 8);
svcSleepThread(0x400000LL);
}
}

f = offset;

buf[f] = 0xFF0088B8;//Values for the hack

//flush back to memory and also write to file for debugging
svcSleepThread(0x400000LL);
GSPGPU_FlushDataCache(buf, 0x10000);
GX_SetTextureCopy(buf, addr, 0x10000, 0, 0, 0, 0, 8);
GSPGPU_FlushDataCache(addr, 0x10000);
//Write to RAM so the Wii U can read it;
svcSleepThread(0x400000LL);

return 0;
}

He said it was some sort of RAM hack for the wiiu. He's a bit of a..... don't want to say troll, but he's "off", so I doubt this is real, but could someone tell me what the hell this is?

This is exploiting a gsp vuln for 3DS on ARM11.
http://pastebin.com/Exb98yWR
 
  • Like
Reactions: VinsCool

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
too late, I already did it, and MN1 says they are investigating the crash I found, not yes or no :)


Dang, because being connected to the internet on 5.2.0 is pretty damn risky in and of itself, if I was on 5.3.2 without any issues, I'd have done it.


Why is this not privately given to devs instead of offering it to nintendo via a public forum?

Good question, but, even if Nintendo found about it, they can't retroactively patch in older firmware.
 

Goku Junior

Well-Known Member
Member
Joined
Dec 27, 2013
Messages
951
Trophies
0
Age
24
Location
Buenos Aires, Argentina
XP
492
Country
Argentina
It's okay, it's been dealt with, enough whining about how it should have happened, back on topic.
Kernel exploit takes priority because of how much more difficult it is to pull off, so I still say hold off on 5.3.1/5.3.2

But after Kernel exploit comes the new WebKit exploit (I think), and next you will develop a IOSU exploit?
 

NWPlayer123

Well-Known Member
Member
Joined
Feb 17, 2012
Messages
2,642
Trophies
0
Location
The Everfree Forest
XP
6,693
Country
United States
But after Kernel exploit comes the new WebKit exploit (I think), and next you will develop a IOSU exploit?
As has been said before, no promises on anything after the kernel exploit is finished, not even a "homebrew launcher". We'll still release it and you can make it yourselves assuming we don't, but....
 

Goku Junior

Well-Known Member
Member
Joined
Dec 27, 2013
Messages
951
Trophies
0
Age
24
Location
Buenos Aires, Argentina
XP
492
Country
Argentina
As has been said before, no promises on anything after the kernel exploit is finished, not even a "homebrew launcher". We'll still release it and you can make it yourselves assuming we don't, but....

OK! no problem with that!, you two had done a lot of work (even for free, we aren't paying), so we are very thankful all of you and MN1 did :) .
 

IbbyPlays

Well-Known Member
Member
Joined
Dec 20, 2014
Messages
236
Trophies
0
Age
23
XP
272
Country
United States
As has been said before, no promises on anything after the kernel exploit is finished, not even a "homebrew launcher". We'll still release it and you can make it yourselves assuming we don't, but....
OK! no problem with that!, you two had done a lot of work (even for free, we aren't paying), so we are very thankful all of you and MN1 did :) .

I would donate if there was a kickstarter or something in the name of Wii U hacking.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • ColdBlitz @ ColdBlitz:
    so you have to learn to emulate that specific hardware which isn't as easy as you'd think
  • K3Nv2 @ K3Nv2:
    It's a locked down Linux distro basically
  • Psionic Roshambo @ Psionic Roshambo:
    I think the only custom hardware is to do with the SSD and a security chip
  • Psionic Roshambo @ Psionic Roshambo:
    Probably combined in one chip
  • K3Nv2 @ K3Nv2:
    They place married security chips onto boards iirc
  • Psionic Roshambo @ Psionic Roshambo:
    Damn Frontier is offering 5Gbps now lol
  • K3Nv2 @ K3Nv2:
    I honestly can't recommend any of the big 3 this years I'd say buy a rog ally z1 if we're being honest
  • Psionic Roshambo @ Psionic Roshambo:
    Honestly after the PS3 and 360 I just went full PC
  • K3Nv2 @ K3Nv2:
    Every games basically cross platform they only have about 6 titles making it worth the $600 price tag
  • Psionic Roshambo @ Psionic Roshambo:
    Didn't see much need for a console, all the advantages have kind of disappeared
  • ColdBlitz @ ColdBlitz:
    the ps3 used to support installing linux because the cpu was so powerful
  • K3Nv2 @ K3Nv2:
    Then the games are $70 and they want to reboot and refresh the same game every year
  • K3Nv2 @ K3Nv2:
    The ps3 was always Linux they just found a way to make it open source
  • ColdBlitz @ ColdBlitz:
    I'm avoiding buying from the big 3 at all atm
  • Psionic Roshambo @ Psionic Roshambo:
    At one point PC game pads where poorly supported, loading a game had setup, it was complicated. Now it's almost as easy as a console.
  • ColdBlitz @ ColdBlitz:
    nintendo needs to up their game soon
  • K3Nv2 @ K3Nv2:
    Yeah even bt support for Xbox one controllers are just as easy as pairing
    +1
  • ColdBlitz @ ColdBlitz:
    considering the steamdeck can emulate the switch (yikes) theres almost 0 reason to buy the switch apart from playing online and using cartridges
  • K3Nv2 @ K3Nv2:
    Xinput and 360 dongles were a driver nightmare
  • K3Nv2 @ K3Nv2:
    I remember having to manually put in drivers and what not
  • Psionic Roshambo @ Psionic Roshambo:
    Yeah the 360 dongles sucked
  • Psionic Roshambo @ Psionic Roshambo:
    But the new Xbox pads? PIr it up and if a game supports it it just works
  • K3Nv2 @ K3Nv2:
    Most emulators even automatically detect them now
  • Psionic Roshambo @ Psionic Roshambo:
    Yeah it's a good time to be alive lol
  • Psionic Roshambo @ Psionic Roshambo:
    Pi4 and Batocera works with them perfectly too
    Psionic Roshambo @ Psionic Roshambo: Pi4 and Batocera works with them perfectly too