Hacking Wii U Hacking & Homebrew Discussion

arbiter34

Member
Newcomer
Joined
May 19, 2009
Messages
19
Trophies
0
XP
148
Country
United States
FSA Return Values from documentation(language ripped from docs):

FSA_STATUS_OK 0

FSA_STATUS_NOT_INIT (-1) /* FSA service is not initialized */
FSA_STATUS_BUSY (-2) /* FSA shim or IPC was too busy */
FSA_STATUS_CANCELED (-3) /* Command canceled */
FSA_STATUS_END_OF_DIRECTORY (-4) /* Indicates end of directory */
FSA_STATUS_END_OF_FILE (-5) /* Indicates end of file */

FSA_STATUS_MAX_MOUNTPOINTS (-16) /* Reached to max number of mount points */
FSA_STATUS_MAX_VOLUMES (-17) /* Reached to max number of volumes */
FSA_STATUS_MAX_CLIENTS (-18) /* Reached to max number of clients */
FSA_STATUS_MAX_FILES (-19) /* Reached to max number of file handles */
FSA_STATUS_MAX_DIRS (-20) /* Reached to max number of dir handles */
FSA_STATUS_ALREADY_OPEN (-21) /* Target is already opened or locked by another transaction */
FSA_STATUS_ALREADY_EXISTS (-22) /* Target path already exists */
FSA_STATUS_NOT_FOUND (-23) /* Target path is not found */
FSA_STATUS_NOT_EMPTY (-24) /* Target path already exists */
FSA_STATUS_ACCESS_ERROR (-25) /* Attempted to access file with bad file mode */
FSA_STATUS_PERMISSION_ERROR (-26) /* Did not have permission to complete operation */
FSA_STATUS_DATA_CORRUPTED (-27) /* Cannot complete transaction due to corrupted data block */
FSA_STATUS_STORAGE_FULL (-28) /* Request would cause one of the ancestor directories to exceed its quota
/ Or no free space left in storage */
FSA_STATUS_JOURNAL_FULL (-29) /* Transaction journal is full, need to flush */

FSA_STATUS_UNSUPPORTED_CMD (-32) /* Operation is not supported by FS */
FSA_STATUS_INVALID_PARAM (-33) /* Specified parameter is invalid */
FSA_STATUS_INVALID_PATH (-34) /* Specified path is invalid */
FSA_STATUS_INVALID_BUFFER (-35) /* Specified buffer is invalid */
FSA_STATUS_INVALID_ALIGNMENT (-36) /* Specified alignment is invalid */
FSA_STATUS_INVALID_CLIENT_HANDLE (-37) /* Specified client handle is invalid */
FSA_STATUS_INVALID_FILE_HANDLE (-38) /* Specified file handle is invalid */
FSA_STATUS_INVALID_DIR_HANDLE (-39) /* Specified dir handle is invalid */
FSA_STATUS_NOT_FILE (-40) /* Specified path is directory instead of a file. */
FSA_STATUS_NOT_DIR (-41) /* Specified path is file instead of a directory. */
FSA_STATUS_FILE_TOO_BIG (-42) /* Request would push the file over the size limit (not the quota limit). */
FSA_STATUS_OUT_OF_RANGE (-43) /* Attempted to access out of accessible area */
FSA_STATUS_OUT_OF_RESOURCES (-44) /* Internal resources ran short */

FSA_STATUS_MEDIA_NOT_READY (-64) /* Medium is not ready to use, user has to put medium correctly */
FSA_STATUS_MEDIA_ERROR (-65) /* Medium is in some bad condition */
FSA_STATUS_WRITE_PROTECTED (-66) /* Medium is in some bad condition */

FSA_STATUS_SYSTEM_ERROR (-1024) /* Fatal system error, call FSAGetError() to get precise error codes */
 

Bug_Checker_

Well-Known Member
Member
Joined
Jun 10, 2006
Messages
950
Trophies
0
XP
664
Country
United States
Ok quick question so I can get a little bit of clarification:
There's a difference between rop410.txt
0x60 - Shellcode length 0x400
0xEC - Shellcode length 0x450
0x144 - Shellcode length 0x400

and mn1-build\stack.txt
0x60 - Shellcode length 0x8000
0xEC - Shellcode length 0x8000
0x144 - Shellcode length 0x8000

But isn't the true Shellcode length 0x34C or 844 bytes? Otherwise does it not clobber the values at 0x4FC and beyond?
 

Marionumber1

Well-Known Member
Member
Joined
Nov 7, 2010
Messages
1,234
Trophies
3
XP
4,045
Country
United States
Ok quick question so I can get a little bit of clarification:
There's a difference between rop410.txt
0x60 - Shellcode length 0x400
0xEC - Shellcode length 0x450
0x144 - Shellcode length 0x400

and mn1-build\stack.txt
0x60 - Shellcode length 0x8000
0xEC - Shellcode length 0x8000
0x144 - Shellcode length 0x8000

But isn't the true Shellcode length 0x34C or 844 bytes? Otherwise does it not clobber the values at 0x4FC and beyond?


The reason for making the shellcode length 0x8000 is a bit complicated, but I'll do my best to explain it. When you first visit the web hack, it will use the WebKit vulnerability to begin execution of our ROP chain. This ROP chain takes some shellcode embedded in our Javascript buffer, copies it to the JIT area, and executes it. However, this code copied to the JIT area is actually a very simple loader responsible for copying a larger amount of shellcode to the JIT. It searches for another Javascript buffer, denoted by 0xCAFECAFE at the beginning, and then patches the ROP chain to copy that buffer into the JIT and executes it again. There can be up to 0x8000 bytes of code in this buffer, meaning the amount of shellcode to copy has to be 0x8000.
 
  • Like
Reactions: Bug_Checker_

Bug_Checker_

Well-Known Member
Member
Joined
Jun 10, 2006
Messages
950
Trophies
0
XP
664
Country
United States
The reason for making the shellcode length 0x8000 is a bit complicated, but I'll do my best to explain it. When you first visit the web hack, it will use the WebKit vulnerability to begin execution of our ROP chain. This ROP chain takes some shellcode embedded in our Javascript buffer, copies it to the JIT area, and executes it. However, this code copied to the JIT area is actually a very simple loader responsible for copying a larger amount of shellcode to the JIT. It searches for another Javascript buffer, denoted by 0xCAFECAFE at the beginning, and then patches the ROP chain to copy that buffer into the JIT and executes it again. There can be up to 0x8000 bytes of code in this buffer, meaning the amount of shellcode to copy has to be 0x8000.

So the shellcode that is 1st loaded into the function sprayInc(n) at 0x1b0 is the loader from findcode.bin. If I understand correctly.
 

Snailface

My frothing demand for 3ds homebrew is increasing
Member
Joined
Sep 20, 2010
Messages
4,324
Trophies
2
Age
40
Location
Engine Room with Cyan, watching him learn.
XP
2,256
I've taken the browser exploit toolkit and modified it to use only one python script to manage the building process. No more sh scripts and cygwin.
Tested in Windows and Linux, python 2 or 3. Download here.
 

Attachments

  • Marionumber1-wiiu-userspace-python-build.zip
    21.6 KB · Views: 518

Bug_Checker_

Well-Known Member
Member
Joined
Jun 10, 2006
Messages
950
Trophies
0
XP
664
Country
United States
I've taken the browser exploit toolkit and modified it to use only one python script to manage the building process. No more sh scripts and cygwin.
Tested in Windows and Linux, python 2 or 3. Download here.


Google chrome now detects this as "Failed - Virus detected"
"Marionumber1-wiiu-userspace-python-build.zip Anti-virus software detected a virus."
"Antivirus software detected a virus. Your downloaded file may have a virus, as a result the file you attempted to download was removed by the Windows Attachment Manager"
Downloaded ok with Free Download Manager (FDM)

Only test410.html flags as virus in Windows Defender
containerfile:C:\Downloads\Marionumber1-wiiu-userspace-python-build\Marionumber1-wiiu-userspace-python-build\test410.html
file:C:\Downloads\Marionumber1-wiiu-userspace-python-build\Marionumber1-wiiu-userspace-python-build\test410.html->(SCRIPT0000)
 

Snailface

My frothing demand for 3ds homebrew is increasing
Member
Joined
Sep 20, 2010
Messages
4,324
Trophies
2
Age
40
Location
Engine Room with Cyan, watching him learn.
XP
2,256
Google chrome now detects this as "Failed - Virus detected"
"Marionumber1-wiiu-userspace-python-build.zip Anti-virus software detected a virus."
"Antivirus software detected a virus. Your downloaded file may have a virus, as a result the file you attempted to download was removed by the Windows Attachment Manager"
Downloaded ok with Free Download Manager (FDM)

Only test410.html flags as virus in Windows Defender
containerfile:C:\Downloads\Marionumber1-wiiu-userspace-python-build\Marionumber1-wiiu-userspace-python-build\test410.html
file:C:\Downloads\Marionumber1-wiiu-userspace-python-build\Marionumber1-wiiu-userspace-python-build\test410.html->(SCRIPT0000)
I removed the html file and it seems to be working now.
 

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
Google chrome now detects this as "Failed - Virus detected"
"Marionumber1-wiiu-userspace-python-build.zip Anti-virus software detected a virus."
"Antivirus software detected a virus. Your downloaded file may have a virus, as a result the file you attempted to download was removed by the Windows Attachment Manager"
Downloaded ok with Free Download Manager (FDM)

Only test410.html flags as virus in Windows Defender
containerfile:C:\Downloads\Marionumber1-wiiu-userspace-python-build\Marionumber1-wiiu-userspace-python-build\test410.html
file:C:\Downloads\Marionumber1-wiiu-userspace-python-build\Marionumber1-wiiu-userspace-python-build\test410.html->(SCRIPT0000)


Sounds like a false positive, I highly doubt the file/site was malicious ;)
 

Bug_Checker_

Well-Known Member
Member
Joined
Jun 10, 2006
Messages
950
Trophies
0
XP
664
Country
United States
Sounds like a false positive, I highly doubt the file/site was malicious ;)

No it is a true positive for a malicious file but that's the only kind of shellcode embedded file we want. The malicious kind is what we want. We wouldn't find any use for the benign kind of shellcode. :)
 

naxil

Well-Known Member
Member
Joined
Oct 26, 2011
Messages
850
Trophies
1
XP
672
Country
Italy
Marionumber1 , what is the point now? u make some more with your exploit? can u show some to us?
the porting on 5.* is in develop?
 

Goku Junior

Well-Known Member
Member
Joined
Dec 27, 2013
Messages
951
Trophies
0
Age
24
Location
Buenos Aires, Argentina
XP
492
Country
Argentina
Marionumber1 , what is the point now? u make some more with your exploit? can u show some to us?
the porting on 5.* is in develop?

In the FAQ they say it need be ported to 5.0 first (if they work only for 4.1.0, think all the people will lost homebrew), after that they will work in using the exploit to load apps, but they need hack the kernel too.
 

NWPlayer123

Well-Known Member
Member
Joined
Feb 17, 2012
Messages
2,642
Trophies
0
Location
The Everfree Forest
XP
6,693
Country
United States
Like MN1 said earlier in one of these 5 different threads, we're kinda doing both, AFAIK we haven't done much with porting to v5 recently because it'd be easier to first get the keys using 4.1.0 so we can download the binaries from nintendo's server and make it easier (or ask someone who has fully hacked their console to get it for us). Doing it blind by bruteforcing the address with tons of resets and incrementing the address isn't much use, just like bruteforcing encryption isn't much use. We ARE looking for a kernel/loader exploit though, we thought we found one but it isn't exploitable, so we're still looking.
 

Goku Junior

Well-Known Member
Member
Joined
Dec 27, 2013
Messages
951
Trophies
0
Age
24
Location
Buenos Aires, Argentina
XP
492
Country
Argentina
Like MN1 said earlier in one of these 5 different threads, we're kinda doing both, AFAIK we haven't done much with porting to v5 recently because it'd be easier to first get the keys using 4.1.0 so we can download the binaries from nintendo's server and make it easier (or ask someone who has fully hacked their console to get it for us). Doing it blind by bruteforcing the address with tons of resets and incrementing the address isn't much use, just like bruteforcing encryption isn't much use. We ARE looking for a kernel/loader exploit though, we thought we found one but it isn't exploitable, so we're still looking.

No problem, thanks for all the work you two make, it is great! :) I don't have a new router yet so I don't have internet in my Wii U so it doesn't affect me you took more time :).
 

FPSRussi4

Well-Known Member
Member
Joined
Dec 1, 2013
Messages
671
Trophies
0
XP
609
Country
Laos
HAY GAIZ IS IT SAEF TO UPDAET TO VERSEEON FIEV YET!1!
In all seriousness, it sounds easier to work with version 4.1.0, why don't you guys find the keys, then focus on porting it to 5.0, or find the keys then keep looking for a kernel exploit?
 

Relys

^(Software | Hardware) Exploit? Development.$
Member
Joined
Jan 5, 2007
Messages
878
Trophies
1
XP
1,239
Country
United States
HAY GAIZ IS IT SAEF TO UPDAET TO VERSEEON FIEV YET!1!
In all seriousness, it sounds easier to work with version 4.1.0, why don't you guys find the keys, then focus on porting it to 5.0, or find the keys then keep looking for a kernel exploit?


The section option isn't possible because you need a kernel/loader exploit to escalate privileges to GET THE KEYS which are stored in the Starbuck.
 

koalaboy13

Member
Newcomer
Joined
Jun 23, 2014
Messages
6
Trophies
0
XP
71
Country
United States
How did you end up choosing this particular use-after-free vuln? Comex said in the 30c3 talk that he had used a (probably heap) buffer overflow, though I'm guessing it was CVE-2012-3748 which was patched in 4.0.0. I would think that a heap overflow would be more useful because you could, like comex did, just dump memory though a JS array with a modified length and avoid trashing the browser too terribly.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty @ Xdqwerty:
    what are you guys talking about
  • The Real Jdbye @ The Real Jdbye:
    or is Hunter Fox just copying Chuck Tingle?
  • K3Nv2 @ K3Nv2:
    That pussy is two faced af
  • The Real Jdbye @ The Real Jdbye:
    https://www.amazon.com/Tentacles-Made-Gay-Hunter-Fox-ebook/dp/B00M0VCUPK let's be real, who isn't at least a little gay for tentacles though?
  • Psionic Roshambo @ Psionic Roshambo:
    Maybe a ghost writer?
  • BigOnYa @ BigOnYa:
    "Oh my God the graphics are so realistic looking." Lol of course it was the shiznit back then tho.
  • BigOnYa @ BigOnYa:
    I've never stood in line overnight or for hours, to buy anything. I can just wait and buy it later.
  • RedColoredStars @ RedColoredStars:
    I have never done that either.
  • RedColoredStars @ RedColoredStars:
    closest ive done is getting to target a couple hours early in the moring to get some amiibos.
  • Xdqwerty @ Xdqwerty:
    Im back
  • RedColoredStars @ RedColoredStars:
    But that topic makes me sad. :(
  • RedColoredStars @ RedColoredStars:
    Abusive narcissistic ex shame guilted me into selling them becasue my gaming and interests were childish like a little kid collecting toys. :(
  • RedColoredStars @ RedColoredStars:
    I had soooooooooooo many of them. All still sealed.
    +1
  • RedColoredStars @ RedColoredStars:
    I eventually had to contact a domestic abuse advocate to help me get out of the apartment I was in a lease with her. And filed a restraining order on her cuz she kept harassing me after i left her.
  • Xdqwerty @ Xdqwerty:
    I didnt bring my Charger and nobody here has one compatible with my phone
  • RedColoredStars @ RedColoredStars:
    either you have usb C and no one else does, or everone else has usb c except you. haha
  • Xdqwerty @ Xdqwerty:
    @RedColoredStars, i don't have usb c
  • RedColoredStars @ RedColoredStars:
    That happened to me for like a year. lol. I was the only one of all my friends and family to still have an old phone.
  • Xdqwerty @ Xdqwerty:
    @RedColoredStars, my phone is from around 2019
  • RedColoredStars @ RedColoredStars:
    Mine was from 2017. lolol. I just got this new one like 6 months ago. Not even new, second hand cheapo $40 phone. But it has usb c. lol
  • RedColoredStars @ RedColoredStars:
    I cant justify $1k+ on a nice ass phone. I can spend that on a 75" tv screen. Why a 6" screen device cost me the same? lol
    +1
  • BigOnYa @ BigOnYa:
    I had a iPhone 5 for like 6 years, till last year, and had to get new phone, when phone companies stop using the cdna networks, which the iphone5 used.
    BigOnYa @ BigOnYa: I had a iPhone 5 for like 6 years, till last year, and had to get new phone, when phone...