Hacking Plailect's 3ds.guide in 5 minutes without a computer

some1ne

Well-Known Member
OP
Member
Joined
Sep 12, 2009
Messages
578
Trophies
1
Website
www.youtube.com
XP
903
Country
United States
UPDATE:


Thanks to d0k3 and his new version of GodMode9, I managed to compile 2 standalone scripts to speed the process up, with the first script flashed to my flashcart instead of boot9strap.
  • The first script:
  • Does security checks and installs boot9strap
  • Copies required files from the installation SD to the 3DS's RAMDRIVE
  • Switches SD cards
  • Copies the required files from the RAMDRIVE to the target SD card
  • Boots Luma3DS

After I install the required CIAs, I reboot the 3DS, which boots into boot.firm (which is the second script) and does the following:
  • Copies hbl's .3dsx file to the right location (boot.3dsx)
  • Copies Luma3DS's .firm file to the right location (boot.firm)
  • Removes installation files
  • Powers the 3DS off (@ 2:02)



In short: I made use of a modified boot9strap that was flashed to the Acekard 2i to load "ntrboot.firm" instead of "boot.firm" to speed things up. I also wrote GM9 scripts to copy the source SD card's contents to the ramdrive in GM9 so that I could copy the required files to the target SD card without having to use a computer. I used FBI as "boot.3dsx" to speed the CIA installation up and then ran a script to copy luma to ctrnand and another one to rename the homebrew launcher to boot.3dsx and delete all the setup files from the target SD card, including the scripts themselves.
 
Last edited by some1ne,

DocKlokMan

Plugin Dev
Member
Joined
Apr 20, 2007
Messages
3,008
Trophies
2
Age
36
XP
4,557
Country
United States


In short: I made use of a modified boot9strap that was flashed to the Acekard 2i to load "ntrboot.firm" instead of "boot.firm" to speed things up. I also wrote GM9 scripts to copy the source SD card's contents to the ramdrive in GM9 so that I could copy the required files to the target SD card without having to use a computer. I used FBI as "boot.3dsx" to speed the CIA installation up and then ran a script to copy luma to ctrnand and another one to rename the homebrew launcher to boot.3dsx and delete all the setup files from the target SD card, including the scripts themselves.

Plan on sharing the GM9 scripts? I think they would be useful. I have a similar setup running (except my fork loads ntr.firm).
 
  • Like
Reactions: Deleted-379826

Majickhat55

The Red Woman
Member
Joined
Mar 28, 2016
Messages
4,936
Trophies
1
Age
36
Location
Asshai
XP
2,958
Country
United States
I agree, that would be awesome if you could share the scripts you used if you can of course :D

I just wanted to say, this is absolutely amazing considering where we were one year ago. I'm just in awe.
 

Kazuma77

Well-Known Member
Member
Joined
May 11, 2008
Messages
1,035
Trophies
1
XP
888
Country
United States
I'm working on something very similar for my AIO pack. Copy everything over once and you're ready to go. Instead of modifying the AK2i's payload, I just have mine use GM9 for the "boot.firm" payload initially. So, then I chainload Safe B9S Installer through GM9, and when it reboots, I have the clean-up script delete the B9S installation files and copy the chainloader (BootCTR9, CBM9, or Luma, depending on the configuration I went with) I want to use over "boot.firm" at the end. I also have a script for installing Luma to CTRNAND (I already include that in my AIO pack). And everything's set up on the chainloader, so, once it is running, I can still get into GM9 to run extra scripts if needed.

The only thing I didn't do was set it up to copy to a second card because most people bring their 3DS to my house, but, I like the idea. Allows you to go to them. I'm pretty sure I could set something like that up. My only concern is, well, I setup everything, so I have to include firmware files, Launcher.dat, etc. I'm not sure such a robust configuration would fit into the RAM drive. But I'll look into it. Thanks for the idea.
 
Last edited by Kazuma77,
  • Like
Reactions: some1ne

some1ne

Well-Known Member
OP
Member
Joined
Sep 12, 2009
Messages
578
Trophies
1
Website
www.youtube.com
XP
903
Country
United States
Last edited by some1ne,

Kazuma77

Well-Known Member
Member
Joined
May 11, 2008
Messages
1,035
Trophies
1
XP
888
Country
United States
Here is a folder with all the required files:
https://mega.nz/#!T9IFwCQZ!Y8lmcFxYtkIiDdEtarto6hqwH5riQuQs3JjFvVcJdFM
I added some homebrew cias and removed the .3dsx files from "starter.zip", except for FBI and Homebrew Launcher.
Here's the modified boot9strap I flashed the Acekard 2i with. Modified by @Ryccardo

OK, looks about like what I was expecting to see. Though I don't usually bother setting up payloads on CTRNAND. I'm assuming that in order to run "ram2sd.gm9" you either had to copy the "gm9" folder back manually or navigate to the scripts folder on the RAM drive to run it. If you do the former, why leave the folder in the script? And if you do the latter, you might want to make an extra copy of it in the root of the drive, or maybe even a folder that starts with a zero to put it right at the top of the list.

Code:
mkdir "9:/0 - RAM2SD"
cp -n 0:/gm9/scripts/ram2sd.gm9 "9:/0 - RAM2SD/ram2sd.gm9"

That takes less time to navigate to, right? Also, as many years as I've been writing batch files on the PC, I'm wary of using the move command in general. It's just usually safer to leave the source where it is until you're absolutely certain you don't need it anymore, and then delete it. But as long as it works. Oh, and, I've noticed the RAM drive is about twice as big as what my configurations take up. Looks like they will fit on it.
 
Last edited by Kazuma77,
  • Like
Reactions: some1ne

some1ne

Well-Known Member
OP
Member
Joined
Sep 12, 2009
Messages
578
Trophies
1
Website
www.youtube.com
XP
903
Country
United States
mkdir "9:/0 - RAM2SD"
cp -n -w 0:/gm9/scripts/ram2sd.gm9 "9:/0 - RAM2SD/ram2sd.gm9"
That takes less time to navigate to, right?
Yes, makes sense. You can copy the ram2sd script to root and update the cleanup script to reflect that change.

It's just usually safer to leave the source where it is until you're absolutely certain you don't need it anymore, and then delete it.
I hadn't thought about that, but yeah, it's safer. It's on a ramdrive so it's gonna be wiped anyway.
 

Kazuma77

Well-Known Member
Member
Joined
May 11, 2008
Messages
1,035
Trophies
1
XP
888
Country
United States
Yes, makes sense. You can copy the ram2sd script to root and update the cleanup script to reflect that change.


I hadn't thought about that, but yeah, it's safer. It's on a ramdrive so it's gonna be wiped anyway.

Actually, there's no need to update the cleanup script. Just have "ram2sd.gm9" not copy itself back. Though you might as well have it in the root or top folder on the source card since it's never going to run from the "Scripts" menu anyway.

And I was referring to the way the cleanup script moves FBI. I'd probably just have two copies instead of moving it back to the "3ds" folder. Then just copy "hbl.3dsx" over "boot.3dsx" and delete "hbl.3dsx" but that's just me. As long as it works.

EDIT: Also, there's not really a need to have a different payload on the AK2i. d0k3 added support for a "gm9/payloads" folder to GM9 in a commit two days ago at my request (and this is the reason I asked for it). If you place "Safe B9S Installer.firm" in it, you don't need the AK2i to launch a different payload. You can pick it straight from the GM9 home menu, and quickly. And just like with scripts, GM9 doesn't play "20 questions" with you when you launch payloads in that folder. Also, 1.3.2 and higher put both the "Scripts" and "Payloads" menus on the first page of the home menu. No more selecting "More" now.

EDIT2: There's also no need for DSP1.cia either. There are not multiple versions of "dspfirm.cdc" created by dumping it on different systems. I've done an fc/b on 3 different dumps -- 2 from O3DS units, one from an N3DS. There were "no differences encountered" on any of them. So, you could just already have that in your "3ds" folder and skip running the .cia file.
 
Last edited by Kazuma77,
  • Like
Reactions: some1ne

some1ne

Well-Known Member
OP
Member
Joined
Sep 12, 2009
Messages
578
Trophies
1
Website
www.youtube.com
XP
903
Country
United States
Actually, there's no need to update the cleanup script. Just have "ram2sd.gm9" not copy itself back. Though you might as well have it in the root or top folder on the source card since it's never going to run from the "Scripts" menu anyway.

And I was referring to the way the cleanup script moves FBI. I'd probably just have two copies instead of moving it back to the "3ds" folder. Then just copy "hbl.3dsx" over "boot.3dsx" and delete "hbl.3dsx" but that's just me. As long as it works.

EDIT: Also, there's not really a need to have a different payload on the AK2i. d0k3 added support for a "gm9/payloads" folder to GM9 in a commit two days ago at my request (and this is the reason I asked for it). If you place "Safe B9S Installer.firm" in it, you don't need the AK2i to launch a different payload. You can pick it straight from the GM9 home menu, and quickly. And just like with scripts, GM9 doesn't play "20 questions" with you when you launch payloads in that folder. Also, 1.3.2 and higher put both the "Scripts" and "Payloads" menus on the first page of the home menu. No more selecting "More" now.

EDIT2: There's also no need for DSP1.cia either. There are not multiple versions of "dspfirm.cdc" created by dumping it on different systems. I've done an fc/b on 3 different dumps -- 2 from O3DS units, one from an N3DS. There were "no differences encountered" on any of them. So, you could just already have that in your "3ds" folder and skip running the .cia file.

Great ideas. I'll update the pack and the op tomorrow.
 

Kazuma77

Well-Known Member
Member
Joined
May 11, 2008
Messages
1,035
Trophies
1
XP
888
Country
United States
Great ideas. I'll update the pack and the op tomorrow.

Well, there's one thing to consider about that last bit. The moderators might take exception to you including "dspfirm.cdc" since it probably contains copyrighted code from Nintendo. I think that's why no one's posted a copy. Still, for personal use it will save you time.
 
  • Like
Reactions: some1ne
D

Deleted-351540

Guest
Guys, we've hit the point of speed running a softmod. Who can top 5 minutes?!
 

DocKlokMan

Plugin Dev
Member
Joined
Apr 20, 2007
Messages
3,008
Trophies
2
Age
36
XP
4,557
Country
United States
Thanks for sharing the scripts, I learned from them in order to write my own. The way I did it is that I only copied what was needed from the RAM Disk back to the SD so that I didn't need a cleanup script.

Example: There's no need to copy ntrboot.firm to the RAMDISK because it's not needed after installing B9S, same with boot9strap folder and ntrboot folder. When copying back from RAMDISK to SD, copy the GM9 scripts you want to keep specifically and not the whole folder, and that will negate the need to cleanup the RAM2SD and SD2RAM scripts.
 
  • Like
Reactions: some1ne

Kazuma77

Well-Known Member
Member
Joined
May 11, 2008
Messages
1,035
Trophies
1
XP
888
Country
United States
Thanks for sharing the scripts, I learned from them in order to write my own. The way I did it is that I only copied what was needed from the RAM Disk back to the SD so that I didn't need a cleanup script.

Example: There's no need to copy ntrboot.firm to the RAMDISK because it's not needed after installing B9S, same with boot9strap folder and ntrboot folder. When copying back from RAMDISK to SD, copy the GM9 scripts you want to keep specifically and not the whole folder, and that will negate the need to cleanup the RAM2SD and SD2RAM scripts.

That's basically what I was getting at before. Since you're copying to a second card, just copy only what you want to it, and there's no need to clean up. Now if someone brings their device to my house, then I need a clean-up script because I'm going to put all the necessary files on their SD card (especially assuming they want the classic FPS ports -- ctrQuake would need it's own swap session, and ctrHexenII would take two). Going from one card to another, you really don't have to include anything from the first card's setup at all. You could copy the files you want on the second card from a separate folder even.

Actually, you can just copy the whole configuration folder while you're at it, then copy it back to the root. This reduces the number of "cp" commands needed down to one. For example:

Code:
cp -w -n 9:/BootCTR9 0:/

EDIT2: Forget the move command I posted earlier, it's not needed.

Since we don't have wildcards, it's the next best thing. Granted, there's more you need on a newly modded system than just CFWs and payload apps, so I'm going to include an "XtraStuff" folder too, and have the script copy that to the root as well.

Though I'm not going to have my "Copy 2 RAM" script choose a configuration. I'm going to let the end user copy that manually so they can choose from any of the ones I offer (or even make their own, as long as they name it like one of mine). The script that copies back from RAM will simply try all of the folder names.

And just so people don't get confused when they see that my script tries 6 folders instead of 3, I'm including an A9LH option. I've had the installer converted to a .firm for months. Now it finally has a use. Just add an "otp.bin" dumping script.

EDIT: On second thought, I think I'll just consolidate my configurations into one and provide scripts to switch the chainloader in the next AIO packs (both A9LH and B9S). There's no reason to make them separate folders anymore.

EDIT2: I've been working on my unified configurations. They're complete now. You can switch chainloaders with scripts (and on BootCTR9, CBM9, and Arm9select if you go with A9LH, you can also change the default payload). However, I also managed to throw a swap card layout of my own together. This includes none of the actual files to be copied, just the means to do so (and some extra files that will autorun Safe B9S Installer on an A9LH device if the card is booted normally with it). The scripts allow 4 configurations. Basically, N3DS and O3DS (since Cakes and Skeith need different firmware files) for each exploit. Check it out.

EDIT3: Did some slight tweaking. The copy of Safe A9LH Installer I included wasn't working (it does on systems with B9S installed I think). Had to use a V1 version. Oh well, v2 is in my A9LH configurations anyway. I can just reinstall after the swap.
 

Attachments

  • Swap Card From Hell Ultralite.rar
    411.7 KB · Views: 188
Last edited by Kazuma77,
  • Like
Reactions: some1ne

HamBone41801

Vipera’s Alt
Member
Joined
Jan 16, 2017
Messages
1,083
Trophies
0
Age
22
XP
964
Country
United States


In short: I made use of a modified boot9strap that was flashed to the Acekard 2i to load "ntrboot.firm" instead of "boot.firm" to speed things up. I also wrote GM9 scripts to copy the source SD card's contents to the ramdrive in GM9 so that I could copy the required files to the target SD card without having to use a computer. I used FBI as "boot.3dsx" to speed the CIA installation up and then ran a script to copy luma to ctrnand and another one to rename the homebrew launcher to boot.3dsx and delete all the setup files from the target SD card, including the scripts themselves.

is launching the alternate payload the only thing the modified b9s does?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: Out of nowhere I got several scars on my forearm and part of my arm and it really itches.