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

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
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,

Kirtai

Well-Known Member
Member
Joined
May 6, 2016
Messages
237
Trophies
0
XP
249
Country
United Kingdom
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.
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
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.
 

TuxSH

Well-Known Member
Member
Joined
Oct 19, 2015
Messages
614
Trophies
1
Age
26
XP
1,295
Country
France
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.
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
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,

TuxSH

Well-Known Member
Member
Joined
Oct 19, 2015
Messages
614
Trophies
1
Age
26
XP
1,295
Country
France
I don't really know, never tried... see the CakeHax readme ("Bigger payloads").

C:
#define ARM9_PAYLOAD_MAXSIZE 0x10000
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
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.
 

Wolfvak

nyaa~
Member
Joined
Oct 25, 2015
Messages
918
Trophies
1
XP
3,486
Country
Uruguay
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.
 

Suiginou

(null)
Member
Joined
Jun 26, 2012
Messages
565
Trophies
0
Location
pc + 8
XP
738
Country
Gambia, The
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.
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
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)
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
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.
 

doggomando

Member
Newcomer
Joined
Mar 20, 2016
Messages
23
Trophies
0
Age
26
XP
86
Country
Canada
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

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://youtu.be/wbMbMtDBaZo?si=Z3ObLtc4Ez6dUY1b