Hacking Official [Release] CakesFW

mid-kid

GBAtemp spamBOT
OP
Member
Joined
Aug 2, 2012
Messages
879
Trophies
0
Age
25
XP
1,163
Country
What could we expect for future cakes versions?

What's on the OP. Right now I'm trying to get cakes to patch userspace applications (for region free, dhs, etc).

Why do you think nearly no one is working on cakescfw plugins?

They're very limited, right now only to NATIVE_FIRM patching. There's not much you can do with that. Other than that the format needs some improvements (merging all the different versions of a cake into one, for example), and the current tool used for creating them doesn't fit too many use-cases either.
 

Urbanshadow

Well-Known Member
Member
Joined
Oct 16, 2015
Messages
1,578
Trophies
0
Age
33
XP
1,723
Country
What's on the OP. Right now I'm trying to get cakes to patch userspace applications (for region free, dhs, etc).

Region free would be a great addition! Perhaps if I have some free time after finals I would like to help you with cakes. I don't know too much the how's of the scene api but I did see the conference last christmas and i'm already a coder with practice in C and C# mainly willing to help in whatever possible.
 

mid-kid

GBAtemp spamBOT
OP
Member
Joined
Aug 2, 2012
Messages
879
Trophies
0
Age
25
XP
1,163
Country
Region free would be a great addition! Perhaps if I have some free time after finals I would like to help you with cakes. I don't know too much the how's of the scene api but I did see the conference last christmas and i'm already a coder with practice in C and C# mainly willing to help in whatever possible.

Well, if you (or anybody, really) want(s) to help, you're always welcome on #Cakey on freenode (webchat link in OP).
 

DjoeN

Captain Haddock!
Member
Joined
Oct 21, 2005
Messages
5,489
Trophies
0
Age
54
Location
Somewhere in this potatoland!
Website
djoen.dommel.be
XP
2,857
Country
Belgium
Rxtools has a thread running in the background that searches in a specific area of the memory, and replaces every instance of "Ver." it can find there: https://github.com/roxas75/rxTools/..._firm/source/payload/arm9/thread/thread.c#L56
This can have side-effects like the one you're talking about. (Any application that has a string that says "Ver." will have that string replaced, if it happens to be in that area, even non-string data, like the number 779248982 (which can be read as "Ver." in little-endian) will be replaced)
I hope you now understand why Cakes doesn't have this feature yet because I deem it both not really necessary and prefer to do it properly, instead of what rx is doing.
i like it how it is :)
 

Billy1006

Well-Known Member
Member
Joined
Jan 5, 2016
Messages
109
Trophies
0
Age
21
XP
81
Country
Gambia, The
untitled_drawing_by_loenabelle-d8ybmrs.png


This is a CFW solution me and @b1l1s have been working on for a while.

For users:

Features right now:
  • SPIDER 4.x-9.2, MSET 4.x and 6.x and Ninjhax 1/2 support for old 3ds/xl/2ds.
  • MSET 4.x and Ninjhax 1/2 support for new 3ds/xl.
  • Options to boot to sysNAND (for GBA/DSi) and emuNAND up to 10.2 on old 3ds, or 9.5 on new 3ds.
  • Emunand supports redNAND and GW emuNANDs.
  • Sig patches
  • Patches are contained in "cakes". The .cake format is a simple format that bundles FIRM patches, and tells the patcher what those patches need to work.
  • Autoboot.
  • Supports multiple NATIVE_FIRM versions (see this for an explanation).
Future hopeful features:
  • Porting CakeHax to homemenuhax, to run idependently from the hax payload.
  • Loading NATIVE_FIRM from the NAND.
  • AGB/TWL FIRM patching (and trying to patch them for emuNAND, if possible).
  • CIA installing over network (b1l1s actually already has a POC for this. Check out the "dhs" branch.)
  • Region free.
  • Rainbows.

How to install:
Just copy all the files to the root of your SD card, and launch it with either spider, MSET or Ninjhax.
Files and stuff are on the bottom of the post.
Copy the firmware.bin linked at the bottom of the post to the cakes directory. Do the same with cetk.
For MSET on 4.x or 6.x, I've modified zoogie's ROP installer to work with this. There's even a code.bin to install the rop via spider in the downloads page.
For MSET on newer firmwares, first downgrade the MSET app to the 4.x or 6.x version (there's tutorials on this site for doing that), then use the CakesROP.nds or code.bin on the downloads page to install the correct ROP.
For spider, see the bottom of the post for a launcher page.
NOTE: The code.bin installs the correct ROP based on your firmware version. If you're on firmware 6.x or higher, the ROP for MSET 6.x will be installed.
NOTE: Never rename the Cakes.dat. The arm9 payload is located there and the code expects it to be named like that.

For developers:

Contributions are welcome on my github: https://github.com/mid-kid/CakesForeveryWan
Just don't be scared if I end up rewriting/restructuring your code as I see fit.
You may happily fork the project if you don't agree with something. I just ask you to rename it, give credits, publish source, and actually add/change something useful (a.k.a. don't be a smartass).

Q&A:

Q: Why should I use this?
A: If you ask yourself that question, this is probably not for you. Other projects already provide a lot of stuff this provides.

Q: Can I eat it?
A: Stop being so funny.

Q: Is it possible to boot on sysNAND mode without using another SD card that doesn't have emuNAND set-up?
A: Yes.

Q: what does [reboot patches] mean? It won't restart after closing smash? Or will GBA and smash work together (since the patched rxtools gives you one or the other)
A: The reboot patches are required to start smash. The console actually performs a reboot when starting it, and clears the patched firmware if these patches are not present.

Q: Are these patches or "cakes" analogous to NTR CFW plugins?
A: No. NTR plugins are ARM11 userland code, cakes are FIRM patches.

Q: I want to update/downgrade my console. Can I disable firmlaunch?
A: No. I don't think that should be much of a problem, but I haven't tried. Just don't enable the emunand patches, and make sure your firmware.bin is at least one version below the firmware you're upgrading to. If you really want to be sure you won't brick your console, get the right firmware.bin for your firmware version, and use that to boot sysNAND.

Qr code for spider:
cakesqr.png

http://dukesrg.no-ip.org/3ds/cakes?Cakes.dat
(Thanks to @duke_srg)

To load the code.bin, use this:
codeqr.png

http://dukesrg.no-ip.org/3ds/cakes?code.bin

Downloads (Yes, I am a link. Click me.)
(Releases are numbered by commit number. Changelogs can be found on the github.)
firmware.bin and cetk download urls for old 3ds (rename the firmware.bin yourself).
firmware.bin and cetk download urls for new 3ds (firmware.bin link was taken down).
The new 3ds needs a (encrypted, so ReiNAND's won't work) 9.5 firmware.bin. This isn't available from Nintendo's servers anymore, so you will have to hunt it down yourself. The MD5 is b99adf0adb279712367c06eb83ba9ae6

Join us at #Cakey on freenode. webchat link
My 2ds stay on decrypting FIRM
FIRM copying
 

GhostLatte

GBAtemp's Official Van Master™
Member
GBAtemp Patron
Joined
Mar 26, 2015
Messages
3,649
Trophies
3
Age
24
XP
11,137
Country
United States
I have been using this as an alternative to RxTools because it wasn't work. I have been very impressed.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AncientBoi @ AncientBoi: :ohnoes: @NoiseCommander3DS Would you please turn down that noise. I haven't had my COFFEE yet...