Homebrew Official [Release] GodMode9 - All Access File Browser for the 3DS

  • Thread starter d0k3
  • Start date
  • Views 306,987
  • Replies 1,143
  • Likes 105

SirNapkin1334

Renound Aritst
Member
Joined
Aug 20, 2017
Messages
1,665
Trophies
1
XP
975
Country
United States
Right now you can still run GM9 without leaving any traces on the system. A config file would change that.
Well, the stock script could be edited to remove it.
Oh! You could store it in VRAM! If I can use a Hexediter to write to VRAM, why not a small tool in HOME -> More...? That'd work, I suppose.
 

windows_server_2003

Well-Known Member
Newcomer
Joined
Jul 13, 2017
Messages
84
Trophies
0
Age
44
XP
379
Country
Japan
Well, the stock script could be edited to remove it.
Oh! You could store it in VRAM! If I can use a Hexediter to write to VRAM, why not a small tool in HOME -> More...? That'd work, I suppose.
I think Nintendo can recover deleted files(deleting files doesn't actually erase data).
And VRAM is a RAM, so wiped on shutting down and doesn't keep config.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Well, the stock script could be edited to remove it.
Oh! You could store it in VRAM! If I can use a Hexediter to write to VRAM, why not a small tool in HOME -> More...? That'd work, I suppose.
I think Nintendo can recover deleted files(deleting files doesn't actually erase data).
And VRAM is a RAM, so wiped on shutting down and doesn't keep config.

The VRAM partition is actually a TAR archive inside in the GodMode9 FIRM, it only gets copied to VRAM. And no, we really can't write there.

As for recovering files - that is easy in FAT, cause in FAT a file delete means that only the first byte of the entry inside the dir is deleted. The story would be different if a file is totally wiped (= overwritten instead of 'deleted'). Regardless of what myths you may have heard, one overwrite is enough, and, even if there are some forensic methods to restore even overwritten data, these are f...ing expensive and will not be implemented outside of law enforcement (when the crime is sufficiently bad, and, no, piracy does not fall under this category).

@d0k3 How can I compile a CIA version of GodMode9?
Haven't you already asked this? It's not possible. @Ordim3n's A9SP provides a possibiliy that handles a reboot to GodMode9, but that's a workaround rather than a proper homemenu shortcut.
 

windows_server_2003

Well-Known Member
Newcomer
Joined
Jul 13, 2017
Messages
84
Trophies
0
Age
44
XP
379
Country
Japan
@d0k3
As for recovering files - that is easy in FAT, cause in FAT a file delete means that only the first byte of the entry inside the dir is deleted. The story would be different if a file is totally wiped (= overwritten instead of 'deleted'). Regardless of what myths you may have heard, one overwrite is enough, and, even if there are some forensic methods to restore even overwritten data, these are f...ing expensive and will not be implemented outside of law enforcement (when the crime is sufficiently bad, and, no, piracy does not fall under this category).

I know, but most users will just "delete" the config file to erase the trace.
Nintendo probably doesn't try to recover the trace though.

I think even law enforcement can't recover overwritten data (electronically impossible).
If someone can do that(even needs *uc*ing expensive payment), it means flash memory can save data larger than the physical size, no way.
 

SirNapkin1334

Renound Aritst
Member
Joined
Aug 20, 2017
Messages
1,665
Trophies
1
XP
975
Country
United States
The VRAM partition is actually a TAR archive inside in the GodMode9 FIRM, it only gets copied to VRAM. And no, we really can't write there.

As for recovering files - that is easy in FAT, cause in FAT a file delete means that only the first byte of the entry inside the dir is deleted. The story would be different if a file is totally wiped (= overwritten instead of 'deleted'). Regardless of what myths you may have heard, one overwrite is enough, and, even if there are some forensic methods to restore even overwritten data, these are f...ing expensive and will not be implemented outside of law enforcement (when the crime is sufficiently bad, and, no, piracy does not fall under this category).


Haven't you already asked this? It's not possible. @Ordim3n's A9SP provides a possibiliy that handles a reboot to GodMode9, but that's a workaround rather than a proper homemenu shortcut.
Oh, sorry, I swear I saw a GM9 CIA in the release package. Or perhaps that was A9SP? I'll check.

--------------------- MERGED ---------------------------

So, A9SP works with the newest commit of GM9? Even if it's installed to a FIRM partition?

--------------------- MERGED ---------------------------

Also, I believe I have found a critical bug. If you compile GM9 without font.pbm, then the FIRM doesn't boot. I found this out the hard way by installing GM9 with this problem, and I thought it had bricked me because I couldn't NTRBoot (the cart slot was dusty...somehow (I always keep a cart inside and the lid closed (it's a N2DSXL))). So, you should move font.pbm out of /data and to /resources (or wherever you get GodMode9_splash.pcx from).
 

SirNapkin1334

Renound Aritst
Member
Joined
Aug 20, 2017
Messages
1,665
Trophies
1
XP
975
Country
United States
@d0k3 a question—Under NCSD TITLE OPTIONS (or whatever it's called), there is Build CIA (Standard) and Build CIA (Legit). I thought that legit CIA's could only be created by Nintendo, for system updates?
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Also, I believe I have found a critical bug. If you compile GM9 without font.pbm, then the FIRM doesn't boot. I found this out the hard way by installing GM9 with this problem, and I thought it had bricked me because I couldn't NTRBoot (the cart slot was dusty...somehow (I always keep a cart inside and the lid closed (it's a N2DSXL))). So, you should move font.pbm out of /data and to /resources (or wherever you get GodMode9_splash.pcx from).

Honestly? If you title this a critical bug you could also remove any other file from the GM9 repo and complain that it no more works afterwards. The data directory may be a means of customization, I never told you guys you can remove anything you want from it, though.

@d0k3 a question—Under NCSD TITLE OPTIONS (or whatever it's called), there is Build CIA (Standard) and Build CIA (Legit). I thought that legit CIA's could only be created by Nintendo, for system updates?

You can only create legit CIAs for stuff you *own* (purchased stuff) or public stuff (system OS apps, like config, etc...). These CIAs will be legit (= works without CFW) for your system only for purchased stuff.
 

SirNapkin1334

Renound Aritst
Member
Joined
Aug 20, 2017
Messages
1,665
Trophies
1
XP
975
Country
United States
@d0k3 what does Rebuild NCSD Header on nand_hdr.bin do? And why does it require a lvl 3 unlock? And what does hdr mean in this case?

--------------------- MERGED ---------------------------

Honestly? If you title this a critical bug you could also remove any other file from the GM9 repo and complain that it no more works afterwards. The data directory may be a means of customization, I never told you guys you can remove anything you want from it, though.
Good point, I suppose. Though, when I see something in /data, I immediately think "OPTIONAL!," since all the not-optional stuff is copied from /resources during compilation. I guess it's a misconception on my end. I should probably start testing my firms before I install them.
 

SirNapkin1334

Renound Aritst
Member
Joined
Aug 20, 2017
Messages
1,665
Trophies
1
XP
975
Country
United States
@d0k3 I saw you have a Reddit Gold account, so I thought, "Why not have a GodMode9 subreddit?" It'd be a great place for noobs to rant about their stupid problems people to talk about problems, cool things, share ideas for vram0, and have a good time.

I guess we could also talk about food.
 

SirNapkin1334

Renound Aritst
Member
Joined
Aug 20, 2017
Messages
1,665
Trophies
1
XP
975
Country
United States
Hey guys. Last night I dreamed....that @d0k3 managed to implement sound into GM9. I'm not joking. I actually dreamed that. It's like the time when I dreamed that Eix merged my pr of EixMode9 into master. Wow.
 
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,946
Country
United States
@d0k3 , I'm trying to create a gm9 script that switches 'Nintendo 3DS' folders. The details of what I'm trying to accomplish are in this post.

This is my code so far:
Code:
# switch 'Nintendo 3DS' folders
# author: TurdPooCharger

# echo "Checking for Nintendo 3DS."

set SUCCESSMSG "Nintendo 3DS. Verified."
set ERRORMSG   "Nintendo 3DS. Missing."

set NIN0 0:/Nintendo 3DS

find 0:/Nintendo 3DS NIN0

This the error message I get when running the code.
error_gm9.png


I think it's because GM9 does not see 'Nintendo 3DS' as a directory but the '3DS' part as a missing argument.

Is GodMode9 able to handle directories and folders with spaces? If possible, how do I specify that in the code?
 

SirNapkin1334

Renound Aritst
Member
Joined
Aug 20, 2017
Messages
1,665
Trophies
1
XP
975
Country
United States
@d0k3 , I'm trying to create a gm9 script that switches 'Nintendo 3DS' folders. The details of what I'm trying to accomplish are in this post.

This is my code so far:
Code:
# switch 'Nintendo 3DS' folders
# author: TurdPooCharger

# echo "Checking for Nintendo 3DS."

set SUCCESSMSG "Nintendo 3DS. Verified."
set ERRORMSG   "Nintendo 3DS. Missing."

set NIN0 0:/Nintendo 3DS

find 0:/Nintendo 3DS NIN0

This the error message I get when running the code.
error_gm9.png


I think it's because GM9 does not see 'Nintendo 3DS' as a directory but the '3DS' part as a missing argument.

Is GodMode9 able to handle directories and folders with spaces? If possible, how do I specify that in the code?
Try using quotes. If that doesn't work, try escaping the space with a backslash.
 
  • Like
Reactions: TurdPooCharger
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,946
Country
United States
Try using quotes. If that doesn't work, try escaping the space with a backslash.

I tried the black slash.. GM9 treats the 3DS/ part as an argument. I'll get back to you if typing "0:/Nintendo 3DS" or '0:/Nintendo 3DS' or [0:/Nintendo 3DS] works.


Edit: Ah shit! This works!
set NIN0 "0:/Nintendo 3DS"
find "0:/Nintendo 3DS" NIN0

I need to do more testing to see if the folder can be rename, but this looking good. Thanks @SirNapkin1334

EDIT: YES IT WORKS!
I did a sample code with a folder named 'poop'
Code:
set SUCCESSMSG "Poop. Verified."
set ERRORMSG   "Poop. Missing."

set TURD "0:/poop"
find "0:/poop" TURD

# allow SD modifications
allow -a 0:/

rm "0:/poop"

SHIT GOT DELETED! okay gotta contain the excitement.
 
Last edited by TurdPooCharger,

SirNapkin1334

Renound Aritst
Member
Joined
Aug 20, 2017
Messages
1,665
Trophies
1
XP
975
Country
United States
I tried the black slash.. GM9 treats the 3DS/ part as an argument. I'll get back to you if typing "0:/Nintendo 3DS" or '0:/Nintendo 3DS' or [0:/Nintendo 3DS] works.


Edit: Ah shit! This works!
set NIN0 "0:/Nintendo 3DS"
find "0:/Nintendo 3DS" NIN0

I need to do more testing to see if the folder can be rename, but this looking good. Thanks @SirNapkin1334

EDIT: YES IT WORKS!
I did a sample code with a folder named 'poop'
Code:
set SUCCESSMSG "Poop. Verified."
set ERRORMSG   "Poop. Missing."

set TURD "0:/poop"
find "0:/poop" TURD

# allow SD modifications
allow -a 0:/

rm "0:/poop"

SHIT GOT DELETED! okay gotta contain the excitement.
By escaping the space, I meant 0:Nintendo\ 3DS
That's how it's done in most shells. CMD is the one exception, I believe (since Windows uses backslashes for directories rather than slashes like everybody else).
 
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,946
Country
United States
By escaping the space, I meant 0:Nintendo\ 3DS
That's how it's done in most shells. CMD is the one exception, I believe (since Windows uses backslashes for directories rather than slashes like everybody else).

Yah, gm9 scripts got them as forward slashes, I tested the code again with a Nintendo 3DS (A) folder to double check if it was deleted.

Code:
set NIN_A "0:/Nintendo 3DS (A)"
find "0:/Nintendo 3DS (A)" NIN_A

allow -a 0:/
rm "0:/Nintendo 3DS (A)"

Works for sure. Now I'm trying to figure out how to do branch checking so the script knows what to do for any outcome.
 

SirNapkin1334

Renound Aritst
Member
Joined
Aug 20, 2017
Messages
1,665
Trophies
1
XP
975
Country
United States
Yah, gm9 scripts got them as forward slashes, I tested the code again with a Nintendo 3DS (A) folder to double check if it was deleted.

Code:
set NIN_A "0:/Nintendo 3DS (A)"
find "0:/Nintendo 3DS (A)" NIN_A

allow -a 0:/
rm "0:/Nintendo 3DS (A)"

Works for sure. Now I'm trying to figure out how to do branch checking so the script knows what to do for any outcome.
Okay then, @d0k3 could you implement space escaping via backslashes? Not that hard, here's a simple example:
Hello\ there = "Hello there"
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
@d0k3 I might be getting into Bitcoin/Litecoin mining. In which case, would you accept Bitcoin/Litecoin donations?
I don't really know if it still makes sense to mine for bitcoin at this point. I don't take an donations myself, I ask people instead to donate to charitable organizations like the American Cancer Society. You can have a look at my GBAtemp profile for a list.

EDIT: Hosting also costs money, so @Shadowhand asked me to direct some donations to the nightly page. Choose between charitable organizations and the nightly page then :).
 
Last edited by d0k3,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Odd coincidence?