Hacking Creating a North American, non-XL New 3DS

Oishikatta

Well-Known Member
Member
Joined
Oct 30, 2014
Messages
971
Trophies
0
XP
603
Country
United States

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
231
Country
United States
Not to derail this thread because it looks like everyone is making great progress on the final method for eShop/System Transfer on a region-changed N3DS, but I wanted to get some opinions before I proceed with one of my 2 apparently available options (moving O3DS stuff to N3DS):

Option 1:
Now that I have figured out how to move the save data of system titles like Mii Plaza (thankfully received instructions on how to manually transfer a moveable.sed file to another system, and if anyone knows how I might be able to merge the tickets from my old ticket.db onto the ticket.db of the N3DS, that would make this option even easier), I can manually extract and inject the saves for these titles from my O3DS EmuNAND to my N3DS EmuNAND. Then with Gateway, I can install all the rest of my purchased titles as CIAs. O3DS becomes a purchase gateway for legit eShop purchases which I can then also install on N3DS with CIAs (I also understand this method would lock me out of using my NNID on N3DS as it would still be officially on the O3DS).

Option 2:
Once all the steps for eShop/System Transfer access on non-up-to-date, region-changed N3DS are finalized, I can simply do an official System Transfer from my O3DS to my N3DS and of course all my content and settings will come over as normal. Then for any future purchases, I would have to do the aforementioned patching steps to purchase anything new from the eShop on the N3DS. This however would get me official access to my NNID on my N3DS. (This would also involve the process of me moving all my saves and ticket.db from my O3DS 9.6/7 EmuNAND to 9.2 SysNAND before doing the System Transfer to the N3DS.)

Both options have their pros and cons, but given my situation, which option would you choose?
 

yifan_lu

@yifanlu
Member
Joined
Apr 28, 2007
Messages
663
Trophies
0
XP
1,671
Country
United States
For those who care: https://github.com/yifanlu/3DSSystemTools/tree/master/3DSTransferDevice

I removed 3DSSwapConsole and added the SecureInfo functionality to 3DSImportExportSeed and renamed that to 3DSTransferDevice. Since this uses libkhax which is much more reliable, it should work pretty much 100% of the time.

(Can someone test it for me? I literally just moved the code over and didn't get to test it)
 

yifan_lu

@yifanlu
Member
Joined
Apr 28, 2007
Messages
663
Trophies
0
XP
1,671
Country
United States
Also, here's a couple more patches (9.2U) that may help people doing region swaps:

Set Serial in NNID and ACT
write(0xfffffd5,tuple(map(ord, "N3DS_SERIAL_HERE\0")),pid=0x7)
write(0x0013E74C,tuple(map(ord, "N3DS_SERIAL_HERE\0")),pid=0x22)
The purpose of this is to get your console to make requests with your N3DS serial and not the O3DS serial from your SecureInfo

Block Update Requests
write(0x0010DD28, (0x00, 0x20, 0x08, 0x60, 0x70, 0x47), pid=0x25)
Better patch than what's found in the other thread. The other patch may fail once in a while. This should always work.

Patch Country to US
write(0x001314F8, (0x06, 0x9A, 0x03, 0x20, 0x90, 0x47, 0x55, 0x21, 0x01, 0x70, 0x53, 0x21, 0x41, 0x70, 0x00, 0x21, 0x81, 0x70, 0x60, 0x61, 0x00, 0x20), pid=0x25)
Make RETURN requests respond with US instead of JP. This is needed AFTER you complete a NNID transfer to your japanese console since SOAP will still say your country is "JP" even though your account works in US eshop.
If you want to modify this to work with other region, here's the (lovingly) hand crafted assembly code
Code:
  0:    9a06          ldr    r2, [sp, #24]
  2:    2003          movs    r0, #3
  4:    4790          blx    r2
  6:    2155          movs    r1, #85    ; 0x55
  8:    7001          strb    r1, [r0, #0]
  a:    2153          movs    r1, #83    ; 0x53
  c:    7041          strb    r1, [r0, #1]
  e:    2100          movs    r1, #0
  10:    7081          strb    r1, [r0, #2]
  12:    6160          str    r0, [r4, #20]
  14:    2000          movs    r0, #0
(Note that your code is at MAX 0x16 bytes or you'll overwrite important stuff. Hence why I wrote this in assembly)

After a successful NNID transfer to your other region console, you must run those commands every time you want to access the eshop.


Also, can someone try to do these patches and create a new NNID. Then reboot, do the patches, and open eshop? I think it may allow eshop to work.
 

jefffisher

Well-Known Member
Member
Joined
Dec 17, 2006
Messages
1,621
Trophies
1
XP
2,062
Country
United States
well see afaik the pre-installed games shouldn't be registered to the server at least until you connect to eshop for the first time, else nintnedo just made generic signed tickets for no reason if they then link the games to their server, not all consoles include the tomodachi life demo, but the AUS consoles came with the 3D visual experience preview app.....but again afaik pre-installed stuff wouldnt actually be the cause of the issue, theoretically i think it wouls all work out if you used a brand new EU/JPN and a brand new US n3DS and before ever accessing any online features swap over the ticket.db and the secureinfo_A file, then upon first ever connect the consoles will have a title list only composed of EU/US/JPN content depending on region and never of been used on any other region
tried that can confirm %100 does not work error 005-5602 same as always
 

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
231
Country
United States
Also, here's a couple more patches (9.2U) that may help people doing region swaps:

Set Serial in NNID and ACT
write(0xfffffd5,tuple(map(ord, "N3DS_SERIAL_HERE\0")),pid=0x7)
write(0x0013E74C,tuple(map(ord, "N3DS_SERIAL_HERE\0")),pid=0x22)
The purpose of this is to get your console to make requests with your N3DS serial and not the O3DS serial from your SecureInfo

Given the fact that I got my SecureInfo_A from a US New 3DS XL specifically purchased for the purpose of being a donor console for my Japanese regular-sized New 3DS, could/should I forgo these steps?

Furthermore, if I already have an NNID that was created before we had the Serial for NNID/ACT and Return Only US Region patches, is that NNID no good for trying this with these patches now? It's a throwaway, so I can create another one...
 

yifan_lu

@yifanlu
Member
Joined
Apr 28, 2007
Messages
663
Trophies
0
XP
1,671
Country
United States
Given the fact that I got my SecureInfo_A from a US New 3DS XL specifically purchased for the purpose of being a donor console for my Japanese regular-sized New 3DS, could/should I forgo these steps?

Furthermore, if I already have an NNID that was created before we had the Serial for NNID/ACT and Return Only US Region patches, is that NNID no good for trying this with these patches now? It's a throwaway, so I can create another one...

The serial is there for consistency. I don't know if nintendo will complain if your serial and device id don't match up. You can always try. For me, I had to use a new serial since my NNID was tied to my o3ds and I transferred it to my n3ds (the request asked for both serials).
 

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
231
Country
United States
The serial is there for consistency. I don't know if nintendo will complain if your serial and device id don't match up. You can always try. For me, I had to use a new serial since my NNID was tied to my o3ds and I transferred it to my n3ds (the request asked for both serials).

Silly, little question, but I want to be sure I'm entering it correctly: the "N3DS" serial number is just the number under the top coverplate/on the box, correct? Also should we include the final digit that is slightly separated by a little space on the barcode? (Example: YJF12345678 9 on barcode, do we enter "YJF12345678" or "YJF123456789"?)
 

yifan_lu

@yifanlu
Member
Joined
Apr 28, 2007
Messages
663
Trophies
0
XP
1,671
Country
United States
Silly, little question, but I want to be sure I'm entering it correctly: the "N3DS" serial number is just the number under the top coverplate/on the box, correct? Also should we include the final digit that is slightly separated by a little space on the barcode? (Example: YJF12345678 9 on barcode, do we enter "YJF12345678" or "YJF123456789"?)

Just use whatever was in your original SecureInfo (remember to end with \0)
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,724
Trophies
2
XP
8,499
Country
Tuvalu
if it would be at all possible to spoof console id + eshop id to zero, so we can make some nice universal legit purchases, that would be lovely.
but maybe not possible, i would assume nintendo's servers would not accept it, even if we patch it in memory.
 

michyprima

Well-Known Member
Member
Joined
Feb 19, 2014
Messages
219
Trophies
0
Age
30
XP
201
Country
Italy
Also, here's a couple more patches (9.2U) that may help people doing region swaps:

Set Serial in NNID and ACT
write(0xfffffd5,tuple(map(ord, "N3DS_SERIAL_HERE\0")),pid=0x7)
write(0x0013E74C,tuple(map(ord, "N3DS_SERIAL_HERE\0")),pid=0x22)
The purpose of this is to get your console to make requests with your N3DS serial and not the O3DS serial from your SecureInfo

Block Update Requests
write(0x0010DD28, (0x00, 0x20, 0x08, 0x60, 0x70, 0x47), pid=0x25)
Better patch than what's found in the other thread. The other patch may fail once in a while. This should always work.

Patch Country to US
write(0x001314F8, (0x06, 0x9A, 0x03, 0x20, 0x90, 0x47, 0x55, 0x21, 0x01, 0x70, 0x53, 0x21, 0x41, 0x70, 0x00, 0x21, 0x81, 0x70, 0x60, 0x61, 0x00, 0x20), pid=0x25)
Make RETURN requests respond with US instead of JP. This is needed AFTER you complete a NNID transfer to your japanese console since SOAP will still say your country is "JP" even though your account works in US eshop.
If you want to modify this to work with other region, here's the (lovingly) hand crafted assembly code
Code:
  0:    9a06          ldr    r2, [sp, #24]
  2:    2003          movs    r0, #3
  4:    4790          blx    r2
  6:    2155          movs    r1, #85    ; 0x55
  8:    7001          strb    r1, [r0, #0]
  a:    2153          movs    r1, #83    ; 0x53
  c:    7041          strb    r1, [r0, #1]
  e:    2100          movs    r1, #0
  10:    7081          strb    r1, [r0, #2]
  12:    6160          str    r0, [r4, #20]
  14:    2000          movs    r0, #0
(Note that your code is at MAX 0x16 bytes or you'll overwrite important stuff. Hence why I wrote this in assembly)

After a successful NNID transfer to your other region console, you must run those commands every time you want to access the eshop.


Also, can someone try to do these patches and create a new NNID. Then reboot, do the patches, and open eshop? I think it may allow eshop to work.

error 011-3001

but I used this to patch to EU instead of US:
write(0x001314F8, (0x06, 0x9A, 0x03, 0x20, 0x90, 0x47, 0x45, 0x21, 0x01, 0x70, 0x55, 0x21, 0x41, 0x70, 0x00, 0x21, 0x81, 0x70, 0x60, 0x61, 0x00, 0x20), pid=0x25)
 

yifan_lu

@yifanlu
Member
Joined
Apr 28, 2007
Messages
663
Trophies
0
XP
1,671
Country
United States
if it would be at all possible to spoof console id + eshop id to zero, so we can make some nice universal legit purchases, that would be lovely.
but maybe not possible, i would assume nintendo's servers would not accept it, even if we patch it in memory.
i mean in theory you can share a ctcert with everyone and Nintendo can't tell the difference. But if one guy decides to link their nnid to it, then they keep all the purchases and nobody else can use it.

But no, you can't generate new ctcerts. Nintendo has a database of valid certs (since they're able to infer region info from just the cert)
 
  • Like
Reactions: cearp

Ichii Giki

Well-Known Member
Member
Joined
Mar 12, 2015
Messages
284
Trophies
0
XP
231
Country
United States
Also, can someone try to do these patches and create a new NNID. Then reboot, do the patches, and open eshop? I think it may allow eshop to work.

Reporting in, reverted to my NAND backup after region changing but before setting up an NNID, so no NNID present. (9.2.0-20U)
Ran 4 patches (including serial number ones using the serial number from my original SecureInfo_A file for this console)
Created NEW NNID (hope Ninty doesn't care I'm registering all these test NNIDs to the same email address...)
Rebooted, ran 4 patches again
Attempted to enter eShop and...Error Code: 005-5602 again, so no go so far for me.

I still have hope for a possible legit system transfer, I'll give it a little longer. And in the mean time I'll continue working on my manual system transfer from my O3DS to N3DS (yay manually copying saves from NAND image to NAND image!)
 

kalibar

Well-Known Member
Member
Joined
Jan 24, 2006
Messages
226
Trophies
1
Age
38
Location
San Francisco, CA, USA
XP
420
Country
United States
I suppose I'll write up the procedure I did to successfully region swap EmuNAND from JP -> US. I'm not responsible if you somehow brick your 3DS. It's highly unlikely since this is only messing with EmuNAND, but you never know.

[...]

1. On your target system use a compiled .3dsx of Decrypt9 (precompiled here) and launch it in the homebrew menu on ninjhax. It may take a few tries but eventually you'll be presented with a white screen with options that will allow you to dump your NAND xorpads. Once it's done take the resulting fat16 xorpad and save it for later.

Am I missing something obvious here? Don't I need a copy of Cubic to get into ninjhax, or is there some way to get to it from emuNAND? I use retail Ocarina as my entry point and I've got a JP N3DS on 9.2 sysNAND and 9.2 emuNAND trying to boot Ninjhax using a Cubic ROM from the multi-ROM menu. The N3DS crashes as soon as the QR code scans, and some research suggests that isn't the way to do it. Is there a .CIA for Homebrew Channel that would let me use decrypt9.3dsx?
 

Oishikatta

Well-Known Member
Member
Joined
Oct 30, 2014
Messages
971
Trophies
0
XP
603
Country
United States
Am I missing something obvious here? Don't I need a copy of Cubic to get into ninjhax, or is there some way to get to it from emuNAND? I use retail Ocarina as my entry point and I've got a JP N3DS on 9.2 sysNAND and 9.2 emuNAND trying to boot Ninjhax using a Cubic ROM from the multi-ROM menu. The N3DS crashes as soon as the QR code scans, and some research suggests that isn't the way to do it. Is there a .CIA for Homebrew Channel that would let me use decrypt9.3dsx?


A physical Cubic Ninja is required. Gateway mode doesn't allow kernel access even through known exploits.
 

Wowfunhappy

Well-Known Member
OP
Member
Joined
May 14, 2008
Messages
578
Trophies
0
XP
420
Country
United States
Odd that this isn't working for people. It sounds like we're close though.

yifan_lu, in theory, could we patch these requests via a proxy server instead of in memory, so as to make it work after updating to 9.6+

Edit: On an unrelated note, I still can't figure out why CharlesProxy wants a password.
2e6f43112a.png
 

yifan_lu

@yifanlu
Member
Joined
Apr 28, 2007
Messages
663
Trophies
0
XP
1,671
Country
United States
Reporting in, reverted to my NAND backup after region changing but before setting up an NNID, so no NNID present. (9.2.0-20U)
Ran 4 patches (including serial number ones using the serial number from my original SecureInfo_A file for this console)
Created NEW NNID (hope Ninty doesn't care I'm registering all these test NNIDs to the same email address...)
Rebooted, ran 4 patches again
Attempted to enter eShop and...Error Code: 005-5602 again, so no go so far for me.

I still have hope for a possible legit system transfer, I'll give it a little longer. And in the mean time I'll continue working on my manual system transfer from my O3DS to N3DS (yay manually copying saves from NAND image to NAND image!)
That's because your console doesn't have a legacy account attached to it. Either patch NIM to use your original region in making the ivs Register request or swap back to your original region, get shop working, and swap back.
 

yifan_lu

@yifanlu
Member
Joined
Apr 28, 2007
Messages
663
Trophies
0
XP
1,671
Country
United States
Odd that this isn't working for people. It sounds like we're close though.

yifan_lu, in theory, could we patch these requests via a proxy server instead of in memory, so as to make it work after updating to 9.6+

Edit: On an unrelated note, I still can't figure out why CharlesProxy wants a password.
2e6f43112a.png
No, SSL remember. Password is the one you set when making the p12 file.
 

Wowfunhappy

Well-Known Member
OP
Member
Joined
May 14, 2008
Messages
578
Trophies
0
XP
420
Country
United States
Alright, I was generating the certificate completely incorrectly.

It looks like I need the 3DS's root certificate as well though.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • ZeroT21 @ ZeroT21:
    being lactose intolerant is a sin
  • RedColoredStars @ RedColoredStars:
    I dont like cream cheese. Thats why. Haha. The breakfast noodle cup sounds fantastic though.
  • K3Nv2 @ K3Nv2:
    I beat grilled cream cheese would be top notch
  • sp3off @ sp3off:
    @ZeroT21 tons of ingredients contains lactose more or less sadly. Makes them tummy aches and farts-o-lantern rocket launches
    +1
  • K3Nv2 @ K3Nv2:
    My only gripe too many poppy seeds a cop may taze me
  • RedColoredStars @ RedColoredStars:
    "Start your day with Cup Noodles Breakfast! This limited time flavor blends ramen with your favorite breakfast flavors, including pancakes, maple syrup, sausage, and eggs."
  • K3Nv2 @ K3Nv2:
    If our Walmart has them yours probably does
  • ZeroT21 @ ZeroT21:
    I came to like french Camembert
  • K3Nv2 @ K3Nv2:
    People get way too self conscious about ingredients
  • RedColoredStars @ RedColoredStars:
    Grilled peanut butter sandwiches with banana, bacon, and marshmallow cream. YUM!!!!
  • RedColoredStars @ RedColoredStars:
    one of my favorites
  • K3Nv2 @ K3Nv2:
    Okay elvis
  • RedColoredStars @ RedColoredStars:
    fuck elvis. lol :P
  • K3Nv2 @ K3Nv2:
    My type c cable is starting to die guess I better order one from my desk
  • RedColoredStars @ RedColoredStars:
    sounds like something Ween would play
    +1
  • ZeroT21 @ ZeroT21:
    And here I thought I was the only one that buy cables in bulk
  • RedColoredStars @ RedColoredStars:
    Nope. Theres two of you! Haha
  • K3Nv2 @ K3Nv2:
    They're so cheap now why not
  • K3Nv2 @ K3Nv2:
    I like the L angle connectors which add more force to it I guess which defeats the point
  • RedColoredStars @ RedColoredStars:
    i only buy new ones when theres a new standard and I have gear that uses it. Otherwise my cables seem to last forever.
  • SylverReZ @ SylverReZ:
    @RedColoredStars, Ween made a song about waving dicks in the wind.
    +1
  • RedColoredStars @ RedColoredStars:
    L angle cables are amazing when needed.
  • RedColoredStars @ RedColoredStars:
    @SylverReZ Yup. Been a longtime fan of Ween. Not a mega-fan by any means but I'm pretty familiar with most of their tunes.
    +1
  • K3Nv2 @ K3Nv2:
    You like the wee
    +1
    K3Nv2 @ K3Nv2: You like the wee +1