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

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
241
Country
United States
I can also confirm success with this method... :lol:
Before and After... ^_^
CBEO0qfUQAAZM3f.jpg
CBEO0qfU8AAzNuT.jpg
 

pikanag

Well-Known Member
Member
Joined
Dec 10, 2013
Messages
249
Trophies
0
XP
323
Country
United States
is there any benefit from upgrading to 8.1j to 9.2j? i currently have a 8.1j and im fine with it. best 3ds ive ever owned in fact
 

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
241
Country
United States
WOW!! Is it possible for you guide me through this?? I'm willing to pay for it.

Basically, you need to (FOR 8.1.0-0J TO 9.2.0-20J ONLY!):
1. Set up a webserver to locally host PHP. I used EasyPHP on Windows 8.1: http://www.easyphp.org/easyphp-devserver.php

2. Once you have your webserver running, you need to host 5 main files:
a. GetAccountStatus_response.xml: https://gist.github.com/yifanlu/e0787ca48473cdf992f8
*. You need to change the NusURL value to match the path of your webserver host!
b. GetSystemCommonETicket_response.xml: https://gbatemp.net/threads/guide-upgrading-8-1-0-0j-to-9-2-0-20j.384960/page-2#post-5414650
c. GetSystemTitleHash_response.xml: https://gist.github.com/yifanlu/3a6fab2ea14a2b2f081f
*. You need to change the TitleHash value to match the one in GetSystemUpdate_response.xml: 8564645C8A1B36E6E13F93D6C5348763
d. GetSystemUpdate_response.xml: https://gist.github.com/yifanlu/bdcd22073cb5096942bb
e. update.php: https://gbatemp.net/threads/guide-upgrading-8-1-0-0j-to-9-2-0-20j.384960/#post-5414057
*. You will need to add an elseif statement for the GetSystemCommonETicket case that returns the GetSystemCommonETicket_response.xml file.

3. Once your webserver is all configured, boot up NTR-CFW on your 8.1.0-0J New3DS: https://gbatemp.net/threads/release...gion-free-cfw-on-jp-eu-us-aus-new-3ds.385142/

4. Once you are in the NTR-CFW environment, press X+Y simultaneously to bring up the system menu. Enable the debugger from there.

5. Launch the NTRclient debugger application: https://gbatemp.net/threads/release...st-public-real-time-debugger-for-n3ds.384858/

6. In the NTRclient application, run the following 5 commands:
a. connect('#.#.#.#', 8000)
*. Replace #.#.#.# with the IP address of your New3DS.
b. listprocess()
c. write(0x15E424, tuple(map(ord, "http://hostname/update.php\0")), pid=0x25)
d. write(0x15E0EC, tuple(map(ord, "http://hostname/GetAccountStatus_response.xml\0")), pid=0x25)
e. write(0x15E463, tuple(map(ord, "http://hostname/GetAccountStatus_response.xml\0")), pid=0x25)
*. In all of these, replace hostname with the path to your webserver host!

7. Once you have run all the patching commands, launch System Settings on the New3DS.
*. DO NOT EXIT SYSTEM SETTINGS OR YOU WILL HAVE TO REPERFORM ALL PREVIOUS PATCHING STEPS!!!

8. Perform a system update as normal.

9. When the update is complete, the system should reboot into 9.2.0-20J (with new NTR 2.1 version, the system no longer hangs on reboot!).
I found this whole exercise to be a nice learning experience in web SOAP calls and how the 3DS update process works. It was very interesting and I thank everyone in this thread for contributing to my success!

Good luck!
 

alin72

Well-Known Member
Member
Joined
Mar 19, 2015
Messages
129
Trophies
0
Age
34
XP
62
Country
United States
Basically, you need to (FOR 8.1.0-0J TO 9.2.0-20J ONLY!):
1. Set up a webserver to locally host PHP. I used EasyPHP on Windows 8.1: http://www.easyphp.org/easyphp-devserver.php

2. Once you have your webserver running, you need to host 5 main files:
a. GetAccountStatus_response.xml: https://gist.github.com/yifanlu/e0787ca48473cdf992f8
*. You need to change the NusURL value to match the path of your webserver host!
b. GetSystemCommonETicket_response.xml: https://gbatemp.net/threads/guide-upgrading-8-1-0-0j-to-9-2-0-20j.384960/page-2#post-5414650
c. GetSystemTitleHash_response.xml: https://gist.github.com/yifanlu/3a6fab2ea14a2b2f081f
*. You need to change the TitleHash value to match the one in GetSystemUpdate_response.xml: 8564645C8A1B36E6E13F93D6C5348763
d. GetSystemUpdate_response.xml: https://gist.github.com/yifanlu/bdcd22073cb5096942bb
e. update.php: https://gbatemp.net/threads/guide-upgrading-8-1-0-0j-to-9-2-0-20j.384960/#post-5414057
*. You will need to add an ifelse statement for the GetSystemCommonETicket case that returns the GetSystemCommonETicket_response.xml file.

3. Once your webserver is all configured, boot up NTR-CFW on your 8.1.0-0J New3DS: https://gbatemp.net/threads/release...gion-free-cfw-on-jp-eu-us-aus-new-3ds.385142/

4. Once you are in the NTR-CFW environment, press X+Y simultaneously to bring up the system menu. Enable the debugger from there.

5. Launch the NTRclient debugger application: https://gbatemp.net/threads/release...st-public-real-time-debugger-for-n3ds.384858/

6. In the NTRclient application, run the following 5 commands:
a. connect('#.#.#.#', 8000)
*. Replace #.#.#.# with the IP address of your New3DS.
b. listprocess()
c. write(0x15E424, tuple(map(ord, "http://hostname/update.php\0")), pid=0x25)
d. write(0x15E0EC, tuple(map(ord, "http://hostname/GetAccountStatus_response.xml\0")), pid=0x25)
e. write(0x15E463, tuple(map(ord, "http://hostname/GetAccountStatus_response.xml\0")), pid=0x25)
*. In all of these, replace hostname with the path to your webserver host!

7. Once you have run all the patching commands, launch System Settings on the New3DS.
*. DO NOT EXIT SYSTEM SETTINGS OR YOU WILL HAVE TO REPERFORM ALL PREVIOUS PATCHING STEPS!!!

8. Perform a system update as normal.

9. When the update is complete, the system should reboot into 9.2.0-20J (with new NTR 2.1 version, the system no longer hangs on reboot!).
I found this whole exercise to be a nice learning experience in web SOAP calls and how the 3DS update process works. It was very interesting and I thank everyone in this thread for contributing to my success!

Good luck!


Thanks for posting the steps! It's still really hard to understand.. But I'll try my best.
 

clock

Well-Known Member
Newcomer
Joined
Sep 18, 2008
Messages
48
Trophies
1
XP
560
Country
Can you please clarify this? I believe I have everything set up to this point.

Like this?
PHP:
if($header == "SOAPAction") {
if($value == "urn:nus.wsapi.broadon.com/GetSystemUpdate") {
fwrite($myfile, "GetSystemUpdate detected\n");
echo file_get_contents("GetSystemUpdate_response.xml");
} elseif ($value == "urn:nus.wsapi.broadon.com/GetSystemTitleHash") {
fwrite($myfile, "GetSystemTitleHash detected\n");
echo file_get_contents("GetSystemTitleHash_response.xml");
} elseif ($value == "urn:nus.wsapi.broadon.com/GetSystemCommonETicket") {
fwrite($myfile, "GetSystemCommonETicket detected\n");
echo file_get_contents("GetSystemCommonETicket_response.xml");
}
}
 

Click This

Surgite!
Member
Joined
Feb 18, 2012
Messages
545
Trophies
0
Location
New York, New York
XP
286
Country
United States

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
241
Country
United States
Can you please clarify this? I believe I have everything set up to this point.

And how would I find the IP address of my 3DS? There's quite a few devices on my LAN.

The PHP code snippet given by clock should work fine. ^_^

Finding the IP of your 3DS would vary from router to router, but if you look at the table of wireless devices connected to your router, you should be able to match the MAC address of your 3DS to a device in that list (assuming your router also gives the MAC/physical address in the list of connected devices).
 

Click This

Surgite!
Member
Joined
Feb 18, 2012
Messages
545
Trophies
0
Location
New York, New York
XP
286
Country
United States
'null' messages are normal. Good luck! :yaynds:

Sweet. If the NT debugger disconnects after I get into system settings, is that still ok or is everything patched by then?

This happened when I booted the settings:

starting applet: 0004001000020000
FSUSER_OpenDirectory failed, ret=c8804478FSUSER_OpenDirectory failed, ret=c8804478
patching smdh
Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Server disconnected.
 

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
241
Country
United States
Sweet. If the NT debugger disconnects after I get into system settings, is that still ok or is everything patched by then?

This happened when I booted the program:

Yeah, freaked me out a little too, but also normal. System Settings seems to disconnect network connections on launch.
 

Click This

Surgite!
Member
Joined
Feb 18, 2012
Messages
545
Trophies
0
Location
New York, New York
XP
286
Country
United States
Well crap. I get an error when trying to update and the 3DS restarts.

Tried twice so far, and I have these two entries in the log:

Host: 192.168.1.7
User-Agent: CTR NUP 040600 Mar 14 2012 13:33:20
Connection: Keep-Alive
Accept-Charset: UTF-8
Content-type: text/xml; charset=utf-8
SOAPAction: urn:nus.wsapi.broadon.com/GetSystemTitleHash
GetSystemTitleHash detected
com.broadon.RequesterName: unitTest
com.broadon.RequesterHash: af99fbe891a31659a4d12efa21377c5d
com.broadon.RequesterTimestamp: 1427444002063
Transfer-Encoding: chunked

Host: 192.168.1.7
User-Agent: CTR NUP 040600 Mar 14 2012 13:33:20
Connection: Keep-Alive
Accept-Charset: UTF-8
Content-type: text/xml; charset=utf-8
SOAPAction: urn:nus.wsapi.broadon.com/GetSystemTitleHash
GetSystemTitleHash detected
com.broadon.RequesterName: unitTest
com.broadon.RequesterHash: 15979877c523e424eeba02680a9a8b8a
com.broadon.RequesterTimestamp: 1427444390760
Transfer-Encoding: chunked
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    But you said pine apple...
  • Psionic Roshambo @ Psionic Roshambo:
    Ughh gonna be bored today, class for new job has a lot of networking material and I'm certified in that already...
  • Veho @ Veho:
    Peen apple.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    "pine unf apple" doesn't count! Lol
  • Psionic Roshambo @ Psionic Roshambo:
    Employee code of conduct videos are awesome!!! Did you know eating the other employees is bad? I didn't know... Lol
    +1
  • AncientBoi @ AncientBoi:
    Anymore males there? :blush:
  • Psionic Roshambo @ Psionic Roshambo:
    All of us lol
  • Psionic Roshambo @ Psionic Roshambo:
    I got free every channel so that's awesome lol
    +1
  • AncientBoi @ AncientBoi:
    Give me ALL the gay pron channels, since you won't be watching them :blush::D
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Lol they exist?
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Hmmm so Mario Does Luigi's plumbing is a bad movie? Lol
  • Psionic Roshambo @ Psionic Roshambo:
    These videos are soooo dry
  • Psionic Roshambo @ Psionic Roshambo:
    Please click all suspicious links sent your email
    +1
  • BigOnYa @ BigOnYa:
    What to do today? Cut grass for 3-4 hours, or just get drunk and play video games... Hmm
    +1
  • BigOnYa @ BigOnYa:
    I need a remote controlled mower, so I can sit on the couch and do both.
  • BigOnYa @ BigOnYa:
    Sounds good to me, video games and booze it is then.
    +1
  • denpafan @ denpafan:
    Good choice
    +1
  • BigOnYa @ BigOnYa:
    Now what to play, Starfield or Fallout4. And what to drink, beer or Whiskey and Coke. Such tough decisions.
  • BigOnYa @ BigOnYa:
    Looks like its whiskey & coke, only 4 beers left. And think ill start with Falllout. :grog:
  • rqkaiju2 @ rqkaiju2:
    THIS IMAGE IS SO SCARY WTF. THAT SURE AS HELL IS NOT A CAT THATS LIKE A FUCKING DEMON

    Untitled2.png
  • Psionic Roshambo @ Psionic Roshambo:
    Bonus points for running things over with the lawn mower?
    Psionic Roshambo @ Psionic Roshambo: Bonus points for running things over with the lawn mower?