Homebrew [Release] OpenRegion - Bypass region lock without internet on 4.x

YourNerdyJoe

Active Member
OP
Newcomer
Joined
Jul 18, 2014
Messages
41
Trophies
0
Age
25
Website
yournerdyjoe.github.io
XP
169
Country
United States
Update: Now works on firmware 4.x and 6.x

https://github.com/YourNerdyJoe/openregion

Jan 23, 2015:
This is a little something I've been working on the past two days. The GO launcher kept giving me problems in regionthree even after I got it to work once so decided to make my own version for fun.

Right now it only works on 4.1-4.5 and while you can already do this with a gateway, this doesn't require emuNand and it boots faster. Hopefully someone finds this useful or can learn from it. It uses NSS:RebootSystem just like smea's launcher but without the GPU DMA vuln and built into a simple ROP chain. Should be able to get it to work on 6.x if I could get my hands on my friend's 3ds but no promises ;).

Update May 27, 2015:
So I got it to work on 6.x a while ago but haven't got around to officially releasing it. Well here it is. Region unlock on 6.x that only requires a ds mode flash cart to set up and can run alongside ninjhax. It also installs perfectly fine through bangai-o sploit.

ReadMe:
OpenRegion - bypass region lock on 3DS firmware v4.x and v6.x

Launch games from any region using the well known DS profile exploit in System Settings.
Dependancies:

1) ropMultiloader (link) or another working ROP chain installer.
2) A DS mode flash cart that works with your firmware version.
Installation:

For firmware version 4.x:
1) Install ROP using a DS mode flash cart (choose Launcher.dat 4.x when using the ropMultiloader)
2) Copy the Launcher.dat file to the root of your SD card.
For firmware version 6.x:
1) Install ROP using a DS mode flash cart (choose MSetForBoss.dat 6.x when using the ropMultiloader)
2) Copy the Launcher.dat file to the root of your SD card.
Usage:

After putting the game cart in your 3DS goto:
System Setting -> Other Settings -> Profile -> Nintendo DS Profile
Then wait a few seconds for your game to launch.
Happy Gaming!
Compiling:

If you wish to compile the source yourself then you will need to:
1) download ARMIPS (link).
2) change the ARMIPS_PATH variable in the Makefile accordingly.
 

dontay0100

Well-Known Member
Member
Joined
Mar 18, 2007
Messages
506
Trophies
0
XP
511
Country
United States
Awesome, things are getting exciting for the 3ds scene for sure. Don't need it but the progress is outstanding!!! Keep up the good work everyone!!
 
  • Like
Reactions: Margen67

Rinnegatamante

Well-Known Member
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
27
Location
Bologna
Website
rinnegatamante.it
XP
4,731
Country
Italy
Good release, could you explain rapidly what the code does? I want to try to create something in DAT format but i'm not very expert about this.

(For example why you call a RebootSystem with this 0x0010C250 and not with this 0x00100180 (according to 3dbrew info))
 

YourNerdyJoe

Active Member
OP
Newcomer
Joined
Jul 18, 2014
Messages
41
Trophies
0
Age
25
Website
yournerdyjoe.github.io
XP
169
Country
United States
Good release, could you explain rapidly what the code does? I want to try to create something in DAT format but i'm not very expert about this.

(For example why you call a RebootSystem with this 0x0010C250 and not with this 0x00100180 (according to 3dbrew info))

It's an ROP chain not asm. So the program counter is jumping to 0x0010C250 which is the memory location that contains a function that runs the RebootSystem command.
 
  • Like
Reactions: Margen67

smasbros

Well-Known Member
Member
Joined
Nov 15, 2014
Messages
163
Trophies
0
Age
31
XP
183
Country
It seems much more complex than regionthree, can you explain what's difference between this and regionthree? Any advantages?
 
  • Like
Reactions: Margen67

YourNerdyJoe

Active Member
OP
Newcomer
Joined
Jul 18, 2014
Messages
41
Trophies
0
Age
25
Website
yournerdyjoe.github.io
XP
169
Country
United States
It seems much more complex than regionthree, can you explain what's difference between this and regionthree? Any advantages?

Actually, regionthree is much more complex than this. Regionthree uses an exploit to inject a block of code into the download play app (which requires a very complex rop chain).
Openregion is just a rop chain version of that small block of code which in c looks something like:
Code:
NS_RebootToTitle(2, 0); //launch game cart
svcSleepThread(0x0FFFFFFFFFFFFFFF); //wait forever

Advantages:
no internet requirement
much more stable (so far I haven't seen it crash while loading unlike regionthree)

Disadvantages:
requires a ds flash cart for initial set up but nothing after that (regionthree doesn't need external hardware at all)
can't use another mset launcher.dat on 4.x at the same time such as gateway (if there's a ninjhax file manager out there that can rename files, that could get around this)
only works on v4.x and 6.x (regionthree works up to v9.5)
 
  • Like
Reactions: Margen67
General chit-chat
Help Users
    KenniesNewName @ KenniesNewName: Well abortions are still legal in my state