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
  • K3Nv2 @ K3Nv2:
    I don't always like burning my mouth from coffee
  • Xdqwerty @ Xdqwerty:
    I hate coffee exactly due to that
  • BigOnYa @ BigOnYa:
    My nephew is a manager at Starbucks, and he brings bags of they coffee over all the time, most the stuff I can't stand, wifey like tho. I just want plain old Columbian Black coffee
  • K3Nv2 @ K3Nv2:
    Try iced then
  • K3Nv2 @ K3Nv2:
    I try to separate mirrages at Starbucks
  • K3Nv2 @ K3Nv2:
    Soccer moms :blush:
  • BigOnYa @ BigOnYa:
    Some of they coffee ok with a little sugar, sometimes just too bitter
  • K3Nv2 @ K3Nv2:
    The word coffee summons @Veho
    +2
  • K3Nv2 @ K3Nv2:
    I should try iced coffee with a shot of gin
  • BigOnYa @ BigOnYa:
    I give my dog a bath earlier and he escaped mid bath from me and ran around the house all soapy, made a mess, lil fucker a badass for a oldie
  • K3Nv2 @ K3Nv2:
    Well it was his first bath be gentle
  • BigOnYa @ BigOnYa:
    He loves going in water at the lake or beach, but he hates getting baths
  • K3Nv2 @ K3Nv2:
    I wouldn't want another guy washing my balls either
  • BigOnYa @ BigOnYa:
    Is a good deal, but only flaw -15.6" screen
  • K3Nv2 @ K3Nv2:
    Hell do you want a 65" laptop
  • BigOnYa @ BigOnYa:
    hell yea
  • BigOnYa @ BigOnYa:
    Nuh after having a 15-16 and going to a 19", makes a big dif, you don't realize til you have it
  • K3Nv2 @ K3Nv2:
    Viagratop
  • Xdqwerty @ Xdqwerty:
    I'm not supposed to use this while charging
  • BigOnYa @ BigOnYa:
    I bought my grandson a bb gun for xmas, (they live in woods of Tennesee), my daughter text me earlier and said he shot his eyeglasses out, I could not help but laugh thinking of Christmas story
  • K3Nv2 @ K3Nv2:
    I almost forgot Bruno mars was a thing damn it youtube
  • Xdqwerty @ Xdqwerty:
    Bye bye i guess
  • BigOnYa @ BigOnYa:
    Ok goodnight. Have a talk with your older brother when you get a chance. Don't be ashamed, we all have issues in our life, so you are not alone.
    BigOnYa @ BigOnYa: Ok goodnight. Have a talk with your older brother when you get a chance. Don't be ashamed, we...