Tutorial  Updated

Installing Sudokuhax on 3DS 4.x-9.2

So yeah... Title says it all. Ever heard of the DSi exploit named Sudokuhax? You want it? Okay! Here's some info:

  • DSiWare does NOT have access to game card, slot 1.
  • DSi Homebrew Channel ONLY supports a maximum SD card size of 2GBs, because of libnds? (If anyone want's to fix that problem, go ahead).
  • Does not support DLDI patching (sucks, right? Can't even run moonshell or a lot of legacy homebrew with that -_-)
  • You need a NDS mode flash card, so ROP Multiloader can be installed. (New method, doesn't have this requirement :D)
  • DSiWare already installed on the console (it must be at least 4MB's in size!) UNLESS you use the NEW method.
  • Ninjhax or Spiderhax (browser, O3DS) is currently required for the NEW method. The old method, requires a NDS flashcard or other method of installing the ROP chain for MSET.
NOTE - QUOTES ON FREEZING:

It works on my 32gb fat32 32k cluster. I used the modified boot.nds from zoogie link.

Yes cluster size is the issue with hbMenu. If it's anything beyond 8192K on 16+ GB size SD cards (not sure if this counts for anything smaller) then hbMenu won't start anything. You just get that white screen. But the problem was I had screen buffer bugs with GBA games when I had my 32GB SD card formatted to 8192k cluster size.

The ROM

1.) Google "DSiWare SDATs" - click on the link with the domain "hcs64".
2.) Scroll down to the bottom and select "page 3" - you'll see a post by "CaitSith2", posted on "March 27, 2015".
3.) Click on "nomodcrypt" and download the archive.

I can't post a direct link to the files, as it isn't allowed here. Sorry.

PC Utility

1.) Search that ISO site for "Play DSiWare in your 3DS!".
2.) Click on the link and go to page 6, post 59.
3.) Download "DSiWare_Injector.zip".

Good! That's the PC utilities downloaded.

Edit: For those of you who can't find the post, I uploaded the injector to my dropbox. Here it is: https://dl.dropbox.com/s/8pjwmgyiwg5bil4/DSiWare_Injector.zip

DSi Homebrew Channel (Mileage may vary)

1.) Download this: http://filetrip.net/nds-downloads/applications/download-dsi-homebrew-channel-1-0-f25356.html

OR Download this modified version, by @zoogie : http://gbatemp.net/attachments/boot-zip.18916/

OR the latest release (also credits to Zoogie): http://gbatemp.net/attachments/boot-zip.21417/

You don't need a 2gb card. just use nds_hb_menu.
Freshly compiled build attached for your homebrewing pleasure. :P

That's pretty much all you need :P Okay, now for the messing about.

***New Method: 4.x-9.2*** (Concept by Zoogie)

1.) Download a copy of Decrypt9, from either of the two links:
OR try @zoogie 's tool:

Here's a version of TWL_PADGEN that includes a browser-launchable decrypt9 -- no cubic ninja needed.
Use gateway firmware for nand dumping and reinjection and such.
Press select to create xorpad.

http://gbatemp.net/attachments/twln_padgen_spider_launcher-zip.21674/

2.) Place the file in their respective places (Launcher.dat, goes at the root of the 3DS SD card. "Decrypt9", goes in the "3ds" directory, if you're using Ninjhax).
3.) Launch the payload.
4.) Select "Decrypt Nand Partitions" then press "x", to backup.
5.) Once finished, shutdown the console.
6.) Rename "SUDOKU-Electronic_Arts_Inc..nds" to "00000002.app".
7.) Rename "dsiware.sav" to "public.sav" (this file is located in "DSiWare_Injector".
8.) Remove the 3DS's SD card and insert it into your computer. Navigate to SD:/Decrypt9 and open "TWLN.bin" with a piece of software such as WinImage.
9.) In WinImage, go to "\title\00030005\42383841\content" and inject the "new" 00000002.app. You can inject the new file by clicking on "Image" then "Inject".
10.) Go to "\title\00030005\42383841" and create the directory "data" (Image -> Create Folder).
11.) Open the "data" directory and inject the "public.sav" file.
12.) Go to File -> Save.
13.) Remove all files from "SD:/Decrypt9", EXCEPT FOR TWLN.bin!
14.) Eject the SD card and put it back into the 3DS.
15.) Re-launch D9, then click "Decypt Nand Partitions" then press the restore button (y).
16.) Accept the confirmation (if any) and wait for it to finish.
17.) Reboot the console, then go to System Settings -> Internet -> Nintendo DS Connections.
18.) Sudoku should load. Press start and Sudokuhax should load. It'll show an error about boot.nds
19.) Power down the console, eject the SD card and put it into your computer.
20.) Transfer the DSiHomebrew channel (boot.nds), to the root of your SD card.
21.) Reinsert the SD card into the console and relaunch Sudokuhax.


***BELOW INSTRUCTIONS ARE 4.x ONLY!***

3DS Injection Tools

1.) Download ROP Multiloader here: http://filetrip.net/3ds-downloads/homebrew/download-ropmultiloader-1-1-f32981.html

Getting your DSiWare Title ID's

1.) Go to system settings ---> Data Management ---> DSiWare.
2.) Copy the DSiWare that you want to be "Sudokuhaxed" to the SD card (make sure no other DSiWare is on your SD! It'll make things easier).
3.) Shutdown the 3DS.
4.) Remove the SD card and insert it into your computer.
5.) Go to "SD:\Nintendo 3DS\<ID1>\<ID2>\Nintendo DSiWare" - you'll see a title with a name similar to this: 4B344856 (This is just an example).
6.) Make sure it's at least 4MB's in size.
7.) Note down the name of the file (don't bother about the file extension - you don't need this).
That's the ID's sorted! Great! :vul2:

Sorting out the stuff

1.) Extract "SUDOKU-Electronic_Arts_Inc..nds" from "decrypted_titles_nomodcrypt.7z" (requires 7Zip or any other archive handler that supports the .7z file extension).
2.) Extract "DSiWare_Injector.zip".
3.) Copy/Move "SUDOKU-Electronic_Arts_Inc..nds" into the "DSiWare_Injector" directory so that it is with it's pals "dsiware_InjectTitleIDinMset.py" and "MsetForBoss.dat".
4.) Rename "SUDOKU-Electronic_Arts_Inc..nds" to "dsiware.nds".
5.) Open "dsiware_InjectTitleIDinMset.py" with a text editor, so that the title ID can be changed.
6.) Change this:
title_ID="xxxxxxxx" # 8 characters or die.

to this:

title_ID="<THE TITLE ID THAT YOU SHOULD'VE NOTED DOWN EARLIER!" # 8 characters or die.

7.) Save the changes and run "dsiware_InjectTitleIDinMset.py" (You must have Python installed!).
8.) Copy "dsiware.nds", "dsiware.sav" and "MsetForBoss.dat" to the root of your 3DS's SD card, (NOT THE NDS FLASH CARD!).
9.) Extract the DSiHomebrew channel and copy "boot.nds" to the root of your 3DS's SD card, just like the previous step.
10.) Extract "235679-ropMultiloader 1.1.zip" and copy "rop_multiloader.nds" to your flashcards SD card (NOT 3DS's!)

You're almost done!

11.) Eject all SD cards and put them back where they belong (don't ask stupid questions. You know where to put it, hehe.)

Installation onto the console


1.) Launch ROP multiloader from your flashcard and install the MsetForBoss exploit.
2.) Go to system settings ---> Profile ---> Nintendo DS profile - you'll see a magical menu, hehe.
3.) Select the option to inject the DSiWare. Wait for it to finish and shutdown the console.
4.) Turn the console back on and launch the DSiWare that you had injected Sudoku into.
5.) The exploit will load after the start menu.

You're done! I've only found this useful for installing the profile exploit, on the go without the need of carrying a flashcard with me. This lets you play NDS games and you could just re-install the exploit with Sudokuhax. Just copy any ROP installer to your 3DS's SD card and rename it to boot.nds.

Would be great if Moonshell2 could be ported to work with this :) Or even better - have a DLDI patch that lets you use more homebrew (nothing is impossible), though I doubt someone would be willing enough to make this happen -_-.

Any errors in this tutorial? Let me know and I'll correct them.

DISCLAIMER: If you break your console, I am not responsible for that. You do these sort of stupid things at your OWN risk. ALWAYS HAVE A BACKUP! Don't come crying to this forum if you've bricked your 3DS and don't have a backup of your NAND - it's just plain sense to have backed up your console, you're an idiot if you don't have one.

Special thanks to a certain user on this forum, for helping me out with the details. He prefers not to be mentioned as he'd rather not receive nooby PM's.

Credits/Info

I do NOT take credit for anything other than taking the time to write this tutorial. All files/tools mentioned in this thread belong to their respective owners - you already know where to go if you want to thank them.

Video evidence



 
Last edited by WhoAmI?,

mid-kid

GBAtemp spamBOT
Member
Joined
Aug 2, 2012
Messages
879
Trophies
0
Age
25
XP
1,163
Country
Maybe :). If you can get a decrypted copy of it, of course. If you do manage to do it, I don't think you'll need to inject the dsiware.sav file so just delete it.

There's a decrypted version of it in decrypted_titles_nomodcrypt.7z. Too bad it can't boot from the DSi Homebrew channel.

Other than that, making DSi Homebrew Channel work on +2GB SD cards will be pretty much impossible without rewriting it, as there's no source code of it.

Also, sometimes my DSiWare application (Inchworm Animation) turns into Sudoku and doesn't appear on the Home Menu, forcing me to reinstall this.
EDIT: Okay, this happens when switching SD cards. To mitigate this, install your DSiWare, go to the home menu, insert one sd card, turn off, turn on, insert other SD, rinse, repeat for every SD card you're going to use on the console, and then install sudokuhax. Also, keeping a copy of your DSiWare + sudokuhax on one SD card is useful.
 

WhoAmI?

PASTA's dirty animal
OP
Member
Joined
Mar 15, 2015
Messages
1,276
Trophies
0
Location
Poké Ball
Website
lavanoid.github.io
XP
1,279
Country
It overridden Sudokuhax and is completely useless :(



Did you change the title ID in the python script? Only one .nds can be injected into one title at a time. If you have another DSiWare, you could inject flipnote into that, meaning that you keep Sudokuhax aswell as Flipnote.

Edit: Also, maybe Flipnote is missing some files?? I wouldn't have a clue to be honest.
 
  • Like
Reactions: Margen67

GhostLatte

GBAtemp's Official Van Master™
Member
GBAtemp Patron
Joined
Mar 26, 2015
Messages
3,645
Trophies
3
Age
24
XP
11,107
Country
United States
Did you change the title ID in the python script? Only one .nds can be injected into one title at a time. If you have another DSiWare, you could inject flipnote into that, meaning that you keep Sudokuhax aswell as Flipnote.

Edit: Also, maybe Flipnote is missing some files?? I wouldn't have a clue to be honest.
Okay. After school, I am going to reinject Sudokuhax.
 

zoogie

playing around in the end of life
Developer
Joined
Nov 30, 2014
Messages
8,560
Trophies
2
XP
15,000
Country
Micronesia, Federated States of
I can explain that I have to do?I modified the .py file with the id of my DSiWare and told me that.
I was talking about compiling what's in the src folder as a workaround, not the script.
Anyhows, look at this for some insight into your python error.
https://bugs.python.org/issue24127
Why can only one DSiWare title be injected at a time?
Well yeah, do you expect to cram in a dozen titles in a title directory and expect the 3ds to be fine with that?
We're lucky this trick works at all.

edit: if you mean multiple installations in a session then I apologize. The homebrew just doesn't work that way, maybe someone will improve it.
 
  • Like
Reactions: WhoAmI?

WhoAmI?

PASTA's dirty animal
OP
Member
Joined
Mar 15, 2015
Messages
1,276
Trophies
0
Location
Poké Ball
Website
lavanoid.github.io
XP
1,279
Country
DSx86 works!!! :yaynds:
Now we need a new homebrew loader that supports bigger SD cards... and possibly a DLDI patcher.
Is the Homebrew Channel really closed source? :unsure:


I haven't looked into the homebrew channel for the DSi but apparently it isn't open source, like you asked. Hopefully someone with the knowledge, can help with this.
 
  • Like
Reactions: Margen67 and nastys

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: The cybertruck is a death trap.