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

Discussion in '3DS - Flashcards & Custom Firmwares' started by chaoskagami, Jun 4, 2016.

  1. chaoskagami
    OP

    chaoskagami Rawr

    Member
    1,026
    1,368
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    [​IMG]

    This is yet another CFW for the 3DS. It's a lot like cakes in that patches are separate from the CFW itself, and a great deal of inspiration (as well as the FIRM decryption code) comes from Cakes.

    Unlike Cakes, it uses bytecode-based patches and a VM to run them (both in the CFW and Loader,) taking a few very good ideas from @yifan_lu (Thanks, seriously.)

    To people who don't quite understand that - it means patches consist of actual, interpreted code much like compiled Java, .NET CIL or Lua bytecode. The patches are roughly based on how Luma applies them.

    This allows for much greater flexibility than Cakes, while working with near anything like Luma/ReiNAND. Corbenik is mainly intended for developers, power users and control freaks, not newbies. It is highly experimental, and may not work correctly in all cases.

    If you don't know your way around the 3DS (or computers), chances are this isn't for you. I strongly recommend people use Luma3DS if they want something foolproof and simple. There's nothing wrong with Luma - Corbenik just has the exact opposite design goals.

    At the moment, all of the essentials are in and functional. This includes all the basic patches. Signatures, FIRM Protection - as well as TWL/AGB patch support, reboot hooking, Multi-EmuNAND (both Gateway/Redirected) and other patches applied by Loader such as Region Free, update blocking, etc. It's also relatively stable at this point in time.

    Please actually read the README.md and FAQ very carefully, and search the topic for problems if you have one before posting.

    If you encounter issues, enable Logging and Verbose and upload boot.log and loader.log somewhere. If you don't have either, then you'll have to step through manually by enabling 'Step Through' in the options and taking down any text before it crashes. I can't help you if you don't provide proper debugging information. If you don't provide logs, that isn't helping me to help you. There is absolutely zero uniquely identifiable information in logs, so there is no reason not to upload them.

    Current release: v0.3.0
    Source code: https://github.com/chaoskagami/corbenik
    Releases (OLD, use hourlies): https://github.com/chaoskagami/corbenik/releases
    Prefix-changed hourlies: https://j.chaos.moe

    FAQ

    Screenshots

    Credits
     
    Last edited by chaoskagami, Jan 18, 2017
    TiredKorok, NoNAND, Vieax and 57 others like this.
  2. Filo97

    Filo97 Zelda's totally my sister! Not lying!

    Member
    3,726
    1,231
    Oct 8, 2015
    Italy
    Hyrule Castle
    gnmmarechal and chaoskagami like this.
  3. chaoskagami
    OP

    chaoskagami Rawr

    Member
    1,026
    1,368
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    It's close to sleep for me. Fix'd.
     
    gnmmarechal likes this.
  4. laharl22

    laharl22 GBAtemp Advanced Maniac

    Member
    1,622
    167
    Dec 19, 2014
    France
    why this is a dead link?
     
  5. chaoskagami
    OP

    chaoskagami Rawr

    Member
    1,026
    1,368
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    It didn't update the URI when I edited it. Ugh. Should be good now.
     
    Last edited by chaoskagami, Jun 4, 2016
  6. DjoeN

    DjoeN Captain Haddock!

    Member
    5,194
    1,498
    Oct 21, 2005
    Belgium
    Somewhere in this potatoland!
    Code:
    make -C patch
    make[1]: Entering directory `/d/Z_Testing/corbenik/patch'
    rm -f *.vco
    ../host/bytecode_asm.py aadowngrade.pco aadowngrade.vco
    /usr/bin/env: python2: No such file or directory
    make[1]: *** [aadowngrade.vco] Error 127
    make[1]: Leaving directory `/d/Z_Testing/corbenik/patch'
    make: *** [patch] Error 2
    @chaoskagami
    What do we need to build this ourself?
    Python 2.x or Python 3.x, special not standard libs?
    (Let's say, python 2 and 3 are installed and everything is already setup to build luma3ds/cakes/rxtools/decrypt9/etc...)
     
    Last edited by DjoeN, Jun 4, 2016
  7. Froster

    Froster Your Music Producer

    Member
    363
    243
    Sep 6, 2015
    Italy
    that MIDI sequencer
    Nice! Hope to see this grow! :yay3ds:
     
  8. chaoskagami
    OP

    chaoskagami Rawr

    Member
    1,026
    1,368
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    You need python2. It doesn't rely on anything non-standard, but you probably need >=2.7. Some stuff I use is 3.x compatibity and doesn't exist if python is <2.7 Also, I have no clue if it will build on Windows (I suspect not, since I've done all testing on Linux)

    If your python2 is named python, just change the shebang in host/bytecode_asm.py.

    The Makefile also automatically adds $DEVKITARM to the PATH.

    Other than devkitARM, ctrulib (for loader), and python2, nothing else is required as far as I know.
     
    Last edited by chaoskagami, Jun 4, 2016
  9. laharl22

    laharl22 GBAtemp Advanced Maniac

    Member
    1,622
    167
    Dec 19, 2014
    France
    thanks there are sysnand only?
     
  10. chaoskagami
    OP

    chaoskagami Rawr

    Member
    1,026
    1,368
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    There's a post. READ IT. :P

    Kidding aside, I haven't implemented EmuNAND yet. SysNAND only right now, and only A9LH will probably ever be supported.
     
  11. laharl22

    laharl22 GBAtemp Advanced Maniac

    Member
    1,622
    167
    Dec 19, 2014
    France
    i have put firm file on firmware/native but anyone can pm me a link of native key please ?the firmkey of cakes work ?
     
    Last edited by laharl22, Jun 4, 2016
  12. chaoskagami
    OP

    chaoskagami Rawr

    Member
    1,026
    1,368
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    Yes, it's the EXACT same key as Cakes uses. I just prefer to name things different.
     
  13. laharl22

    laharl22 GBAtemp Advanced Maniac

    Member
    1,622
    167
    Dec 19, 2014
    France
    so firm files in corbenik/firmware/native folder and firmkey in keys folder as good ?
     
    Bndnrd likes this.
  14. chaoskagami
    OP

    chaoskagami Rawr

    Member
    1,026
    1,368
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    Yep, put the firmkey as native.key in the keys folder and you should be good.

    I haven't seriously tested AGB or TWL yet (which is why they're excluded from the readme), but it should at least load them too.
     
    laharl22 likes this.
  15. khaeroup

    khaeroup Member

    Newcomer
    45
    16
    Jan 10, 2013
    Italy
    #1 reason to install this:

     
  16. AboveColin

    AboveColin GBAtemp Regular

    Member
    212
    26
    Jan 22, 2016
    Netherlands
    And what is the difference between this and Luma3ds?
     
  17. laharl22

    laharl22 GBAtemp Advanced Maniac

    Member
    1,622
    167
    Dec 19, 2014
    France
    i have an error error to decrypt firmware aborting
     
  18. chaoskagami
    OP

    chaoskagami Rawr

    Member
    1,026
    1,368
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    If you're asking this question, you're not the intended audience. :<

    Anyways, A LOT. It's more like Cakes if you have to compare against something.

    You can hit any key during an abort to power off, just FYI. Can you post the exact message? Oh, and if you have a N3DS, you need Slot0x11Key96.bin too. On the root, like every other slot keyfile. Forgot that.
     
    Last edited by chaoskagami, Jun 4, 2016
  19. AboveColin

    AboveColin GBAtemp Regular

    Member
    212
    26
    Jan 22, 2016
    Netherlands
    Lel.
     
  20. laharl22

    laharl22 GBAtemp Advanced Maniac

    Member
    1,622
    167
    Dec 19, 2014
    France
    The firm file need to be renamed to firmware.bin maybe?i have old3ds