Git Product home page Git Product logo

cakesforeverywan's People

Contributors

b1l1s avatar chaoskagami avatar fox8091 avatar grayjack avatar mariogamer2 avatar mid-kid avatar pcm720 avatar rzumer avatar wolfvak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cakesforeverywan's Issues

TWL/AGB Broken on New3DS with v200

Launching CakesFW with the TWL/AGB firmware files on the New3DS only brings up this issue.
"Couldn't decrypt ARM9 FIRM binary
Double-Check you've got the right firmware.bin.
If you are trying to decrypt a >=9.6 firmware on a <9.6 console, please double-check your key is saved at:/slot0x11key96.bin
We remind you that you can't decrypt it on an old3DS.
If the issue persists, please file out a bug report.

FIRM that failed: TWL_FIRM (AGB_FIRM if TWL_FIRM is deleted)"
This issue is only on the New3DS. Old3DS seems to decrypt these firmware files just fine and the patches work as expected.

It dun wanna compile :(

My setup allows me to compile rxTools but I don't know why it doesn't work for Cakes :/

python patches/bundle.py patches/emunand/info.json patches/emunand/patches.s bui
ld/patches/emunand out/cakes/patches
ARMIPS Assembler v0.7d (Apr 1 2013 10:09:41) by Kingcom
patches.s(6) error: Invalid equation name 0x080d8670_unk2
patches.s(7) error: Invalid equation name 0x080d8670_unk1
patches.s(8) error: Invalid equation name 0x080d8670_unk0
patches.s(41) error: Invalid expression "(0x080d8670_unk0+1)"
patches.s(66) error: Invalid expression "(0x080d8670_unk1+1)"
patches.s(106) error: Invalid expression "(0x080d8670_unk0+1)"
patches.s(131) error: Invalid expression "(0x080d8670_unk2+1)"
Aborting.
Traceback (most recent call last):
File "patches/bundle.py", line 85, in
NameError: name 'ver' is not defined
make: *** [build/patches/emunand.baked] Error 1

This is my path:

c:\devkitPro\msys\bin;C:\Program Files\ImageMagick-6.9.1-Q16;C:\devkitPro\devkitARM\bin;C:\MinGW\bin;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter;;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\WIDCOMM\Bluetooth Software;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files (x86)\Overlook Fing 2.2\bin;C:\Users\Lavanoid\bin;C:\Python27;C:\Users\Lavanoid\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\cmd;

Help? Pretty please?

Considering of supporting FW 11.3?

Really like CakesFW, but it leads into black screen after updating to 11.3. Seems like only Luma3DS works now.

Any idea of updating CakesFW?

Unable to boot emuNAND/redNAND with Cakes

Using commit e1a8d6b. o3DS a9lh, sysNAND on 9.2, emuNAND on 10.6. Also, in case it wasn't obvious, I'm Gelex :)

The problem is that Cakes seems to be unable to boot emuNAND. I've tried most combination of patches, and even just emuNAND with nothing else. From what I can tell visibly, cakes shuts off the backlight, and it never comes back on, so whatever hangs happens before Cakes does screen re-init. Strange thing is that Cakes is able to boot sysNAND with 10.4 firm, and that works fine. I can attest that ARN can boot emuNAND fine in both GW-emuNAND and redNAND versions of the emuNAND on the SD card, while changing formats does nothing for Cakes. I re-downloaded the 10.4 firmware to make sure it wasn't corrupted, and it is fine (cmp returned no differences between a fresh download and my copy). Anything else I should check for?

Did you break something?

My path has armips in it but it errors out on me:

36724 bytes (37 kB) copied, 0.015 seconds, 2.4 MB/s
python patches/bundle.py patches/emunand/info.json patches/emunand/patches.s bui
ld/patches/emunand out/cakes/patches
'armips' is not recognized as an internal or external command,
operable program or batch file.
Couldn't compile version 0x49 for some reason.
make: *** [build/patches/emunand.baked] Error 1

*hax loader black screens

Currently the way I'm loading Cakes is with CtrBootManager. The 3dsx loader just black screen on my n3ds...
Is it becuase it doesn't support hax 2.5?

Implement thread

Don't know if it is possible....

A things must be to add a cake string in setting...

Cetk not decrypting!

Whenever I load Cakes.Firm in bootctr9 b9s 1.2 it gets the firm but can't decrypt the cetk, I don't have any of the slot files as they are no longer there. I am on 11.0-20E(cart updated) o2DS

Unable to launch the 2ds(1.21GB nand)emuNAND

This bugs happened in 2ds(pokemon JPN Ver)
I found the 2ds have Two kinds of NandFlash

the one used Toshiba nand,With 988,807,168byte emuNAND backup(just like o3DS)
can launch emu

the other one used Samsung nand ,With 1,300,234,240byte emuNAND backup(just like n3DS)
cannot launch the emuNAND(not found)

I have no idea about this problem, but I think the CFW maybe read this emunand as n3DS

forget my pool English :)

Userland patching implementation

Currently, userland patches are stubbed.
What I want, is to be able to specify which application (most likely title ID) to patch, in a .cake file, and have 3ds_injector handle the patching. How do we tell 3ds_injector what patches to load? Possibly a file on the SD card, or a list of paths to .cake files somewhere in memory, or hell, have it load the config.dat and read the selected cakes.

Support ARM11 Memory Patches

Perhaps a strange idea, but service patches (such as re-adding svcbackdoor) are going to be a pain in the arse if they aren't handled specially.

Basically, a service patch would have to have to specify the firmware type in subtype and somehow specify which service to set. The binary for a service patch would load to the first free area it can be called from, and the service table would be set to where it's located in memory.

Obviously svcBackdoor was removed by nintendo. While I'm close to havinf figured out the offsets necessary to fix @Wolfvak/icing, it will need a new patch1.bin every firmware, which means it's annoying to maintain even moreso than the signature patches.

This feature would also allow adding new services to unused slots, which could be interesting to developers. I'm sure there's a few use cases which would benefit from custom services.

As a final thought: svcBackdoor is gone now. We need to make sure no Nintendo applications start declaring access to it next firmware - since it's now a reliable way to detect CFW usage. Hardening svcBackdoor to be more secure than nintendo's implementation is probably a start.

Complete the patch_reset function

With the new format (and arguably with the old), if the patch fails applying somewhere halfway through, it will be in a half-applied state, and if the user removes the nonworking patch and continues booting, it will fail, due to possibly missing parts of it.
We need some way to recover, and the most easy way to do that is by putting the unpatched firm at a original_firm_loc when loading it, and copying it to firm_loc in patch_reset.
We should also make sure the config is only saved AFTER the patching is done correctly.

https://github.com/mid-kid/CakesForeveryWan/blob/wip-new-format/source/patch.c#L221

firmware.bin selection menu

A menu for selecting a firmware.bin from a folder.
Essentially, it'll just scan the folder (probably /cakes/{firm,agb_firm}), and put all the options in a menu.
When one is selected, it's added to the config, and the load_firm() function is called accordingly, the cakes list is reloaded for the current firmware, and the config is modified accordingly.
On first boot, when a new config is created, show the selection list if there's more than one firmware, otherwise select the only firmware in the directory.
Of course, the same menu has to exist for native_firm, agb_firm and twl_firm.

Finish sysmodule implementation

Sysmodule patches right now are severly limited to just replacing a whole system module.
I want to be able to do a few more things:

  • Add a new sysmodule
  • Replace a sysmodule with a bigger version than the old one
  • Patch a sysmodule without replacing it

wait_key crashes console

I've just compiled the latest version here in GitHub (9d82264), and my console hard-crashes (ie long press poweroff button to shutdown) when it reaches the selection menu.

I've added a few prints and it's apparently caused by the wait_key call in draw_menu, called from main to select what to do on boot. I've added one before and another after the call, and it seems it never returns.

Console is running an european 2DS with 9.2 on sysNAND, attempting to load firmware 0x50. I'm using themehax v2.2 to boot into Homebrew Channel, and then into Cakes launcher. I've tried replacing the boot.3dsx, skipping the HBC altogether, Cakes' but still crashed. Stable 108 works fine.

CakesFW hangs on RedNAND boot

When booting my redNAND, cakes hangs on a black screen after pressing "Boot CFW". THis only happens when the Enable EmuNAND patch is on. If it helps, my redNAND was created with gm9.

Btw, sorry about submitting 2 issues in 1 day.

CETK not right

When downloading the latest cet from this url (for o3ds), It's always say me to verify if CETK is right....

Same things for an older CETK...

Discreet bootup?

Hi! First of all, thanks for making such a great CFW. I noticed that auto-booting Cakes through A9LH outputs some debug text on the screen, such as loading FIRM files. Can we get an option to keep the entire bootup black? I'm hoping to make my 3DS boot up into SysNAND CFW as discreetly as possible, and am using arm9select as my initial A9LH payload.

Thanks again!

Exclude the cakes that aren't supported by the current firmware.

Old format does this correctly, as the version is included in the header. The new format, however, requires loading more of the cake to be able to loop through the version list of each firm and memory patch, and if the current firm version isn't present, to ignore it. The most straight-forward way to do this would be to just load the whole cake instead of just the header and fill the array of cakes accordingly, but we could also save them somewhere to avoid loading them again later on.
Also general cleanup of the load_cakes_info function.

https://github.com/mid-kid/CakesForeveryWan/blob/wip-new-format/source/patch.c#L549

Auto-Boot CIA Error

#When using auto-boot from a system restart after crash causes all CIA files to crash, not load and give a error saying 'Please Re download From Nintendo Eshop"

Port and expand the reboot patch from aureinand

The reboot patch from aureinand is cleaner than the current one, and it should be ported.
It should also be modified to load agb_firm_patched.bin (and twl_firm_patched.bin) if it's present on the SD card.
This will need expansion of the "save" patch option, to pass the paths to agb and twl firms.

Does not compile in Windows....

Seems to be armips related. What build of armips does it need now? I try to compile it and get this:

patches.s(51) error: Invalid expression
patches.s(53) error: Invalid expression
patches.s(51) error: Invalid expression
patches.s(53) error: Invalid expression
patches.s(51) error: No if clause active
patches.s(51) error: No if clause active
patches.s(52) warning: Opcode not word aligned
patches.s(53) error: No if clause active
patches.s(53) error: No if clause active
Aborting.
Couldn't compile version 0x50 for some reason.
make: *** [build/patches/reboot.baked] Error 1

I've tried a build by d0k3 and the original build from devkitpro release 45. But still no go. It won't compile after the latest commit....

Enable log

Hi,
I'm having some problems while setting up cake because it ends with a black screen.

It would be amazing to have a checkbox to save a log so we can spot problems faster.

Thanks a lot!

Linux compile

Hi mid-kid i compile your cakes firmware on linux with make i dont get any error but if i whant now but it on my sd card decrypt 9 wip and uncart dont run any more.
If your whant i can upload my cakes.dat or what ever your need to found this my cakes.dat is bigger then the one in the release folder #

Add search&replace functionality to the .cake format.

Suggested by @Wolfvak, mainly due to the complexity of supporting all different versions/regions of a single userland title.

The cake format should have a flag, that tells what the patching method is for each patch. Depending on the patch method, it will either search for a pattern, pointed to in the patch header, or look for static offsets depending on the version, as has been done until now.
Variables should also have patterns to search for if necessary.

Bonus points for supporting search&replace as fallback for traditional static offsets if the current version can't be found.

Can't boot emuNAND 9.x from sysNAND 6.0

This is a weird problem, reported by Richter on IRC.
All his files are correct, updated and the md5sums and everything check out.
He appears to be loading Cakes form MSET 4.x.
His system is a 2ds.
His problem is that trying to load emuNAND 9.x is causing him a "black screen".

11.0 NATIVE_FIRM lacks most patches

Yeah, everything broke again.

@Wolfvak figured out the signatures for 11.0 - commit 78f24bb. I got the signature patch functional by 48bf378.

Unrelated - after pulling from @Wolfvak, the network graph for cakes on github seems screwed up and I'm not sure why. Should we report that to github?

EDIT: firmprot seems also to be at the same offset, but unlike the others I have no clue how to safely test this without fixing the emunand patch too. 4f7f391

EDIT 2: Again, emunand offsets seem unchanged as well. I can't check the o3ds offsets due to lack of having mine modified (runs 9.6 though.) f1fdfcc

I did a cursory test of emunand though - seeing as everything else was unchanged I simply updated the offsets and tested (it seems to work correctly, at least) The others were all properly verified and checked via hexdump and standalone_patcher.

Also, svcBackdoor is dead on arm11. Not fun.

  • Fix version detection
  • Fix signatures on n3ds
  • Fix firmprot on n3ds
  • Fix emunand on n3ds
  • Fix signatures on o3ds
  • Fix firmprot on o3ds
  • Fix emunand on o3ds
  • Fix reboot
  • Need a new patch to reenable svcBackdoor

cetk decryption failed on old 3ds

aleady try nightly and stable build.
the error is "Failed to decrypt the CETK", "Please make sure the CETK is right."
i am sure that cetk and firmware file is correct.

Boot Splash images?

This is one feature in other CFW's (Luma3DS for example) I'd love to see in Cakes!

A couple of people suggested I jump on here and give @mid-kid a mention.

Monster Hunter 4 : An error has occured

I'm on o3ds / Cakes 1.08 / EmuNand 10.5 and as the titles says I can't launch my legit eshop copy of Monster Hunter 4.

As there are few reports of that error (helpful ones I mean) on the Internet I feared that my SD card was a defect or worse the 3ds itself. Just went and installed AuReiNand to be sure and the game finally booted.

No idea if Cakes 1.08 has an issue or if I'm the issue, but I thought it wouldn't hurt to tell you all this.

Remove .cake limit

Right now there's a limit of the amount of cakes that may be loaded.
I'd like to be able to remove it, as much as possible.

Compiling CakesFW with latest ctrulib from smea (commit: 1cef3e5) errors out

When compiling your source with latest ctrulib (commit 1cef3e5) from smealum you get the following errors:

(Note, this is for everything that uses CakeBrah/Brahmaloader (libkhax))

khaxinit.cpp
arm-none-eabi-g++ -MMD -MP -MF /d/ABuildCFWs/CakesForeveryWan/CakeBrah/build/khaxinit.d -g -Wall -Wextra -O3 -mword-relocations -fomit-frame-pointer -ffast-math -march=armv6k -mtune=mpcore -mfloat-abi=hard -I/d/ABuildCFWs/CakesFo
reveryWan/CakeBrah/include -I/c/devkitPro/libctru/include -I/d/ABuildCFWs/CakesForeveryWan/CakeBrah/build -DARM11 -D_3DS -DARM_ARCH -DLAUNCHER_PATH='"Cakes.dat"' -fno-rtti -fno-exceptions -std=gnu++11 -c /d/ABuildCFWs/CakesForeve
ryWan/CakeBrah/source/libkhax/khaxinit.cpp -o khaxinit.o
d:/ABuildCFWs/CakesForeveryWan/CakeBrah/source/libkhax/khaxinit.cpp: In function 'Result KHAX::IsNew3DS(bool*, u32)':
d:/ABuildCFWs/CakesForeveryWan/CakeBrah/source/libkhax/khaxinit.cpp:985:47: error: cannot convert 'u8* {aka unsigned char*}' to 'bool*' for argument '1' to 'Result APT_CheckNew3DS(bool*)'
   if (Result error = APT_CheckNew3DS(&isNew3DS))
                                               ^
make[2]: *** [khaxinit.o] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/d/ABuildCFWs/CakesForeveryWan/CakeBrah'
make: *** [out/3ds/Cakes/Cakes.3dsx] Error 2

Signature Check not patched 10.4.x-xxU emunand

3DS type: N3DSXL
Whats expected: Signature check disabled can install cia
What Happens: Signature Check still enabled after cfw "CakesFW" is loaded
is disable signature check ticked in boot options? : yes it is all options excluding autoboot are enabled.

Im not sure why this issue is happening..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.