Hacking [GUIDE] Upgrading 8.1.0-0J to 9.2.0-20J

clock

Well-Known Member
Newcomer
Joined
Sep 18, 2008
Messages
48
Trophies
1
XP
560
Country
I dunno how to do this steps and asked for a video tutorial but got some overreaction instead :sad:


I will try this with my n3ds tonight and I will do a simple picture tutorial or so (sorry, video took forever and I don't know how...)

For now you can download EasyPHP that Ichii Giki linked in his tutorial and install it. Pretty easy to use I must say.
 
  • Like
Reactions: Ichii Giki

cynique

Well-Known Member
Member
Joined
Feb 12, 2015
Messages
111
Trophies
0
Age
34
XP
193
Country
Afghanistan
I will try this with my n3ds tonight and I will do a simple picture tutorial or so (sorry, video took forever and I don't know how...)

For now you can download EasyPHP that Ichii Giki linked in his tutorial and install it. Pretty easy to use I must say.


Thanks a lot man but if it will put you in some serious efford you dont have to.But do it or not gratitude!!
 

BoomerNT

Member
Newcomer
Joined
Jan 7, 2015
Messages
24
Trophies
0
Age
35
XP
103
Country
Switzerland
If I'm correct, all steps use plain HTTP connection.

I think it is quite possible that we setup a proxy server in the middle to intercept and replace these certain requests, and let other requests go through.

Using the proxy method, things needed are just the 3DS itself and a computer.
 
  • Like
Reactions: cynique

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
231
Country
United States
If I'm correct, all steps use plain HTTP connection.

I think it is quite possible that we setup a proxy server in the middle to intercept and replace these certain requests, and let other requests go through.

Using the proxy method, things needed are just the 3DS itself and a computer.

Except the initial 3DS connection to Nintendo use "HTTPS" in the 3DS code and we are patching them to use a standard HTTP connection, so I'm not sure you could simply intercept in the middle without doing the patch steps on the 3DS itself. Your initial premise was sound in reasoning though.

Ok so i'll add a disclaimer saying you need su

You could also make use of a non-standard port in your Android app and then just use that non-standard port in the files/patching steps on the 3DS:
http://hostname:PORT/path/to/update.php for example.
 

Oishikatta

Well-Known Member
Member
Joined
Oct 30, 2014
Messages
971
Trophies
0
XP
603
Country
United States
I put the files I used on a server, hopefully this makes it simpler.

It is still recommended of course to make a backup of your 8.1 sysnand first with gateway's launcher, and to enter and exit recovery mode to clear any pending updates.

  1. Boot your 3DS into NTR CFW 2.0 and connect the debugger
  2. Use listprocess() to get the PID for “nim”. On 8.1.0-0J, it should be 0x25.
  3. Enter commands below into NTR debugger while connected.
  4. Go into system settings, and perform an update (do NOT exit system settings as you will lose your patches and will have to perform them again after restarting).
  5. Once the update is done, you will be prompted to restart, however because you are in NTR mode, the screen will just go black. You need to hold the power button and manually restart.

Code:
connect("your 3ds ip", 8000)
write(0x15E424, tuple(map(ord, "http://jp81to92update.tk/\0")), pid=0x25)
write(0x15E0EC, tuple(map(ord, "http://jp81to92update.tk/\0")), pid=0x25)
write(0x15E463, tuple(map(ord, "http://jp81to92update.tk/\0")), pid=0x25)
 

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
231
Country
United States
I put the files I used on a server, hopefully this makes it simpler.

It is still recommended of course to make a backup of your 8.1 sysnand first with gateway's launcher, and to enter and exit recovery mode to clear any pending updates.

Code:
connect("your 3ds ip", 8000)
write(0x15E424, tuple(map(ord, "http://jp81to92update.tk/\0")), pid=0x25)
write(0x15E0EC, tuple(map(ord, "http://jp81to92update.tk/\0")), pid=0x25)
write(0x15E463, tuple(map(ord, "http://jp81to92update.tk/\0")), pid=0x25)

Just a note, your NTRclient commands are missing the update.php/GetAccountStatus_response.xml files from their full paths. Thanks for hosting the files though, should help many people!

Also, if you are using the new NTR-CFW 2.1, you no longer have to hard-power off your console, it should reboot normally!
 

Oishikatta

Well-Known Member
Member
Joined
Oct 30, 2014
Messages
971
Trophies
0
XP
603
Country
United States
Just a note, your NTRclient commands are missing the update.php/GetAccountStatus_response.xml files from their full paths. Thanks for hosting the files though, should help many people!

Also, if you are using the new NTR-CFW 2.1, you no longer have to hard-power off your console, it should reboot normally!


That's a case in my php file:

*And the server is configured to respond with the same thing for any URL, so it's fine to add /update.php or /GetAccountStatus_response.xml to that domain. But it should not be necessary.

PHP:
if( isset($_SERVER['HTTP_SOAPACTION']) ) {
        header("Content-Type: text/xml");
 
        switch($_SERVER['HTTP_SOAPACTION']) {
                case "urn:nus.wsapi.broadon.com/GetSystemUpdate":
                        readfile("titleversion.xml");
                        break;
 
                case "urn:nus.wsapi.broadon.com/GetSystemTitleHash":
                        readfile("titlehash.xml");
                        break;
 
                case "urn:ecs.wsapi.broadon.com/GetAccountStatus":
                        readfile("getaccountstatus.xml");
                        break;
 
                case "urn:nus.wsapi.broadon.com/GetSystemCommonETicket":
                        readfile("commoneticket.xml");
                        break;
 

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
231
Country
United States
That's a case in my php file:

*And the server is configured to respond with the same thing for any URL, so it's fine to add /update.php or /GetAccountStatus_response.xml to that domain. But it should not be necessary.

PHP:
if( isset($_SERVER['HTTP_SOAPACTION']) ) {
        header("Content-Type: text/xml");
 
        switch($_SERVER['HTTP_SOAPACTION']) {
                case "urn:nus.wsapi.broadon.com/GetSystemUpdate":
                        readfile("titleversion.xml");
                        break;
 
                case "urn:nus.wsapi.broadon.com/GetSystemTitleHash":
                        readfile("titlehash.xml");
                        break;
 
                case "urn:ecs.wsapi.broadon.com/GetAccountStatus":
                        readfile("getaccountstatus.xml");
                        break;
 
                case "urn:nus.wsapi.broadon.com/GetSystemCommonETicket":
                        readfile("commoneticket.xml");
                        break;

Aha, nicely done! *Also weird, just got a feeling of deja vu looking at that code...* :blink:
 

pb_industries

New Member
Newbie
Joined
Mar 5, 2015
Messages
4
Trophies
0
Age
38
XP
43
Country
United States
I put the files I used on a server, hopefully this makes it simpler.

You are awesome for doing this (yifan_lu, too of course)!

Does this update method also include the web browser? Either way, I'm going to attempt this tonight. Hopefully the N3DS Japanese recovery mode dialogs don't trip me up too badly. Thanks guys!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • AncientBoi @ AncientBoi:
    ooowwww a new way for me to beat NFS 510 :D @SylverReZ
    +1
  • SylverReZ @ SylverReZ:
    @AncientBoi, Yeah, believe you can do PSP games as well. But a Pi5 is much powerful in comparison.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Not sure about other models of Pi4 but the Pi 4 B with 8GBs OCed to 2Ghz handles PSP really great except like 1 game I found and it is playable it just looks bad lol Motor Storm Arctic something or other.
  • Psionic Roshambo @ Psionic Roshambo:
    Other games I can have turned up to like 2X and all kinds of enhancements, Motorstorm hmmm nope 1X and no enhancements lol
  • Veho @ Veho:
    Waiting for Anbernic's rg[whatever]SP price announcement, gimme.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I will admit that one does seem more interesting than the usual Ambernic ones, and I already liked those.
  • Veho @ Veho:
    I dread the price point.
    +1
  • Veho @ Veho:
    This looks like one of their premium models, so... $150 :glare:
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    To me that seems reasonable.
  • Psionic Roshambo @ Psionic Roshambo:
    I mean since basically all the games are errmmm free lol
  • Veho @ Veho:
    I mean yeah sure but the specs are the same as a $50 model, it's just those pesky "quality of life" things driving up the price, like an actually working speaker, or buttons that don't melt, and stuff like that.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I think all in my Pi 4 was well north of 200 bucks 150ish for the Pi 4 the case the fancy cooler, then like 70 for the 500GB MicroSD then like 70 for the Xbox controller. But honestly it's a nice set up I really enjoy and to me was worth every penny. (even bought more controllers for 2 or 4 player games.) hmmm have never played any 2 player games yet :(
  • Veho @ Veho:
    Yeah that's what I hate about the RPi, it's supposedly $30 or something but it takes an additional $200 of accessories to actually turn it into a working something.
  • Psionic Roshambo @ Psionic Roshambo:
    yes that's the expensive part lol
  • Veho @ Veho:
    I mean sure it's flexible and stuff but so is uremum but it's fiddly.
  • Psionic Roshambo @ Psionic Roshambo:
    Yeah a lot of it I consider a hobby, using Batocera I am constantly adjusting the collection adding and removing stuff, scraping the artwork. Haven't even started on some music for the theme... Also way down the road I am considering attempting to do a WiiFlow knock off lol
  • Veho @ Veho:
    I want everything served on a plate plz ktnx, "work" is too much work for me.
  • Veho @ Veho:
    Hmm, with that in mind, maybe a complete out-the-box solution with all the games collected, pacthed and optimized for me would be worth $150 :unsure:
  • Psionic Roshambo @ Psionic Roshambo:
    Yeah it's all choice and that's a good thing :)
  • Bunjolio @ Bunjolio:
    animal crossing new leaf 11pm music
  • Bunjolio @ Bunjolio:
    avatars-kKKZnC8XiW7HEUw0-KdJMsw-t1080x1080.jpg
    wokey d pronouns
  • SylverReZ @ SylverReZ:
    What its like to do online shopping in 1998: https://www.youtube.com/watch?v=vwag5XE8oJo
    SylverReZ @ SylverReZ: What its like to do online shopping in 1998: https://www.youtube.com/watch?v=vwag5XE8oJo