Homebrew Brick-Protect 3DS - For GW2.02B Users

Foxi4

Endless Trash
OP
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,840
Country
Poland
fNIWmE3.png

The recent happenings on the scene worried me - there's quite a commotion with Gateway's 2.02B firmware which allegedly has a built-in Brick routine which kicks in if Launcher.dat's Checksums do not check out, namely if the file was modified in any way. Unfortunately, this "Bricking" situation might affect legitimate Gateway users due to SD corruption... which means having to periodically check Launcher.dat's checksum, defeating the purpose of "portability".

To prevent that from being an issue, I coded Brick-Protect 3DS. The program uses Bobobobo’s MD5 C++ implementation to check the MD5 checksum of Launcher.dat, compare it with the verified and correct MD5 and warn the user in the event that inconsistencies are detected. If the Launcher.dat file is not detected or if FAT cannot be initialized, the program will inform you about the issue and automatically terminate after a couple seconds.

Before anyone mentions it, yes, I know MD5 has vulnerabilities, but it works blazing fast on the DS, so I have no complaints - it's better than nothing.

Testing would be appreciated! If this saves at a single 3DS from getting bricked, the work was worth it.

PS: Forgive the absolutely terrible graphics, this was really hastily made. I'll improve upon it later, for now, what matters is that it works, at least on my end.

EDIT: My eagerness proved to be my own undoing. Version 0.2 allows for a delayed start, so that the user can switch microSD cards before performing the verification, a feature that should've been there from the start. :rofl2:

Instructions:
  1. Start the application on any DS-MODE flashcart
  2. Once prompted, remove the SD card from your flashcart (If necessary. The stylus is pretty helpful with this step!) and switch it with the one containing Launcher.dat. If your Launcher is on a full-sized SD card, you're unfortunately out of luck
  3. Once the switch is complete, press the START button to mount the newly-inserted SD and begin the verification process
In my test environment, this did not cause the application to hang, here's for hoping that it works the same way for you guys.

Download Here (v.0.2)
 

Arras

Well-Known Member
Member
Joined
Sep 14, 2010
Messages
6,318
Trophies
2
XP
5,406
Country
Netherlands
Apparently the launcher has an initial check to see if it's corrupted. If it fails, it just refuses to start. If that check is patched around like in the clone cards and the region free mod, that's when the brickin' happens. But the idea is nice, I suppose.
 
  • Like
Reactions: cearp

Foxi4

Endless Trash
OP
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,840
Country
Poland
you haven't put any brick code in have you that bricks it if i rename the file? XD
No. :rofl2:


(:ninja:)


Apparently the launcher has an initial check to see if it's corrupted. If it fails, it just refuses to start. If that check is patched around like in the clone cards and the region free mod, that's when the brickin' happens. But the idea is nice, I suppose.
Fair enough, I didn't know that. That being said, better safe than sorry.
 
  • Like
Reactions: gamefan5
D

Deleted User

Guest
Actually you can modify the Launcher.dat file randomly and it will just hang the 3DS, it will not load. GW has a sanity check to prevent random corruption.

HOWEVER

Normmatt patches to Launcher.dat and R4i/3DSLink specially crafted a modified Launcher.dat which neutralize the GW sanity check, but they got themselves burned by this.

So moral is: you can randomly change the file, and still be safe.
 

Foxi4

Endless Trash
OP
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,840
Country
Poland
Looks like I wasted an hour or two then - I didn't know about the sanity check.

That being said, it might still be useful in checking whether or not the source you got your Launcher from was "savoury"... I dunno... I tried to help. :rofl2:
 

Nightwish

Well-Known Member
Member
Joined
Oct 16, 2013
Messages
431
Trophies
1
XP
1,563
Country
Portugal
Before anyone mentions it, yes, I know MD5 has vulnerabilities, but it works blazing fast on the DS, so I have no complaints - it's better than nothing. ;)
That's irrelevant in this case, you're not using it for security (random files off the internet) but for a consistency check from a known location.
 

Arras

Well-Known Member
Member
Joined
Sep 14, 2010
Messages
6,318
Trophies
2
XP
5,406
Country
Netherlands
You can fake MD5 checksums... it's quite a bit of work, but technically you can create two completely different files with an identical checksum. ;)
One thing to add for people too lazy to read the thing:
This implies that both colliding files have to be specially prepared by the attacker, before they are published on a download site or presented for signing by a code signing scheme. Existing files with a known hash that have not been prepared in this way are not vulnerable.
It only matters if the malicious party is the one who uploaded the original, good file as well.
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
yeah, it's not like changing one byte of the launcher is going to make you brick...
but still, thanks for the effort of making this
 

Foxi4

Endless Trash
OP
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,840
Country
Poland
Can you read the SD card from within the NDS mode?
As long as the SD that's being read is in a DS-Mode flashcart - yes. From the SD slot? No.

EDIT: Now that you mention it, I should probably allow the users to switch SD cards on-the-fly before performing the verification - I didn't think of that. My bad, maybe in the next update, if there'll be any need for this kind of an app.
 

FR0ZN

Well-Known Member
Member
Joined
Nov 2, 2013
Messages
1,378
Trophies
1
Age
37
XP
3,865
Country
United States
But I don't understand the point :wtf:
You are checking the "Launcher.dat" on the micro SD in the NDS Flashcart?

No offense man, but that doesn't prevent you from nothing .... and it's also not portable either.
How are you supposed to get the Launcher.dat on the SD card after you checked with your app? (without any computer near by).
And since your app can't access the SD card (which is a limit from the console, not your app), there is still a chance that your SD card is messed up ... and it has been proven that this can also be a cause of bricking your 3DS.

This is no critic to your app, it's good that you are trying to help .... but it's not protecting you from bricking your 3DS.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: Happy birthday! +1