Hacking Official Corbenik - Another CFW for advanced users (with bytecode patches!)

  • Thread starter Thread starter chaoskagami
  • Start date Start date
  • Views Views 287,134
  • Replies Replies 2,153
  • Likes Likes 60
Still hangs up, you know a place i could get a good firm key?

It still hangs in release-3? It shouldn't. It should be skipping invalid AGB and TWL firms. I deliberately broke my firmware files in N different ways to test.

As for the FIRM key, you can either do some trickery with cakes, go find it at unspeakable places, or wait for the next release when I re-add the cetk code to the firm decryptor. Your choice.

Menuhax support won't be possible with a 90kb binary size, but I'm not sure of the details why (just repeating what Tux said)

I'm assuming that's the maximum payload size of the actual theme cache, from reading through the docs. Doesn't really matter much, anyways.
 
Last edited by chaoskagami,
That could be part of the assembler and I could simply compile that to jmp, but then it isn't actually an "assembler" anymore. The less comparisons in the VM, the better. ;P
Could that be done by adding macros to the assembler? A proper macro assembler can be ridiculously powerful, far more so than the anaemic ones commonly available for todays mainstream systems.
 
Could that be done by adding macros to the assembler? A proper macro assembler can be ridiculously powerful, far more so than the anaemic ones commonly available for todays mainstream systems.

It's not impossible, but it's not on my priority list at the moment.
 
Menuhax support won't be possible with a 90kb binary size, but I'm not sure of the details why (just repeating what Tux said)
Maybe there is a workaround actually, but if it's possible it's not straightforward (and likely not compatible with boot managers and such). I don't really know.
 
Maybe there is a workaround actually, but if it's possible it's not straightforward (and likely not compatible with boot managers and such). I don't really know.

Not even compatible with boot managers? Ouch. Assuming it isn't possible at >90k what's the absolute maximum?

I can probably cut a good deal of size off my code (the .bss section is gigantic and that's a flaw imo) but that still puts .text at 45k if arm-none-eabi-size is to be trusted. I could probably further analyze the .map file.

EDIT: I expect to make another release either today or next day. There's a few things that will be helpful for debugging issues (boot logs, so nobody has to retype crap) plus image-based EmuNAND, potentially. Going to look at houses, though (we need to move.)
 
Last edited by chaoskagami,
I don't really know, never tried... see the CakeHax readme ("Bigger payloads").

C:
#define ARM9_PAYLOAD_MAXSIZE 0x10000
 
I am well aware of that, which is why I posted this. Besides, it'd be an advantage because iirc it can load raw ARM9 payloads (arm9loaderhax style)

I quickly edited with a thanks because I was a bit terse. Apparently I was too late. ;/

Right now I want to focus on getting all of the features working, but it doesn't look like it'll be hard to add CakeHax as a submodule or anything.
 
I quickly edited with a thanks because I was a bit terse. Apparently I was too late. ;/

Right now I want to focus on getting all of the features working, but it doesn't look like it'll be hard to add CakeHax as a submodule or anything.
CakeHax implies mset/spiderhax support. In any case, what you want is CakeBrah (*hax).
Or just tell people to use BootCTR or something like that with an offset of 0.
 
Could that be done by adding macros to the assembler? A proper macro assembler can be ridiculously powerful, far more so than the anaemic ones commonly available for todays mainstream systems.
m4 is a thing. Could always just use m4 to preprocess your stuff.
 
m4 is a thing. Could always just use m4 to preprocess your stuff.

Ew. I'd rather use cpp. M4 macros are confusing. Powerful, but confusing. There's a good reason about 1/2 of software uses CMake now. I'm not saying I don't understand M4 but it doesn't lend to readability.

I'll probably just replace all the argument handling with eval (especially the utterly broken number parsing)
 
Yeah, I just thought that putting higher level stuff like if/then logic into the assembler would be a better idea than adding complexity to the VM.

I'm with you on that, which is why the VM just does dumb jmps at the moment. I think I'll probably replace the test opcode with one that gets flags like cmp and add conditional jmps, since that seems much better long term than this weird logic I have at the moment. Oh, and I'd like to add support for labels to the assembler.
 
It still hangs in release-3? It shouldn't. It should be skipping invalid AGB and TWL firms. I deliberately broke my firmware files in N different ways to test.

As for the FIRM key, you can either do some trickery with cakes, go find it at unspeakable places, or wait for the next release when I re-add the cetk code to the firm decryptor. Your choice.



I'm assuming that's the maximum payload size of the actual theme cache, from reading through the docs. Doesn't really matter much, anyways.
Maybe because i haven't name it correctly, i renamed firmkey.bin to native.key.
EDIT: nvm
 
Last edited by doggomando,

Site & Scene News

Popular threads in this forum