RELEASE Firmware Dumper

Discussion in 'Switch - Emulation, Homebrew & Software Projects' started by fOmey, Nov 4, 2018.

  1. fOmey
    OP

    fOmey Member

    Newcomer
    2
    Jul 18, 2018
    Australia
    [​IMG]


    [​IMG]




    INFO::

    The tool is quite simple: rather then having to depend on outside sources for firmware NCA's you can now dump them yourself in a targeted efficient manner directly on your switch.. I wanted to cut out the middle man. A means to a end, a tool designed specifically for firmware dumps.

    No longer are you forced to dump your entire nand to get your hands on the latest firmware, this was a huge waste of time.. or have to patiently wait for the files to become available online, which again is another waste of time - expect delays!

    What you do with the files is entirely up to you, development purposes? downgrade snapshots? latest firmware upgrade? Analysis?

    Dumping process does take a while, but much less time than a full NAND backup that's for sure! Once the dump is complete, simply open ChoiDuJourNX and target the dumped firmware directory to install.. simple, easy & efficient.




    DOWNLOAD::

    [​IMG]





    PENDING UPDATES::

    You'll get the following notification when a new firmware has been downloaded and is ready for installation:

    [​IMG]

    If you don't have the "system update ready" notification in settings, you can force your switch to download the latest firmware update by entering the "system update" menu.
    DO NOT PRESS THE LARGE "UPDATE" BUTTON AS THIS WILL PROCEED TO INSTALL.

    [​IMG]

    A pending update dump will also dump your current firmware, there is no need to dump both. The switch appears to update only what is necessary, recycling older firmware files where possible to minimize firmware update size.

    When selecting a pending update dump folder (two firmware versions in the dump folder name) in ChoiDujourNX you will be presented with an option to install either your current or the pending update firmware.




    CREDITS::
    • libNX team for the core API.
    • rajkosto for his fantastic tool ChoiDujourNX
     
    Last edited by fOmey, Nov 16, 2018 at 9:06 PM
    Xandrid, lufeig, Rulesless and 35 others like this.
  2. Draxzelex

    Draxzelex GBAtemp Guru

    Member
    16
    Aug 6, 2017
    United States
    New York City
    Nice, no more memloader shenanigans.
     
    thaikhoa and Adran_Marit like this.
  3. Xandrid

    Xandrid GBAtemp Advanced Fan

    Member
    6
    GBAtemp Patron
    Xandrid is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Mar 27, 2016
    Nigeria
    Took me while to understand this lol, but this is nice. I accidentally updated my switch without using ChoiDuJourNX, this'll definitely make sure I won't do that again. Thanks for this
     
  4. Mat37

    Mat37 GBAtemp Advanced Fan

    Member
    4
    Dec 3, 2016
    France
    Who really knows where ?
    The update button seems bigger in the center because of the cross ^^ Yes that's the only thing i have to say great job btw
     
  5. Darklinkreturns

    Darklinkreturns GBAtemp Regular

    Member
    4
    Feb 12, 2014
    United States
    Sounds incredibly useful, trying it out now, thanks!
     
  6. CVFireDragon

    CVFireDragon Advanced Member

    Newcomer
    2
    Mar 27, 2018
    United States
    Somewhere in Dream Land
    is this open-source?
     
  7. hayato_ama

    hayato_ama Newbie

    Newcomer
    1
    Nov 5, 2018
    Canada
    Some suggestions:
    • Add firmware version number at the end of the folder. Apparently if I don't rename the FirmwareDump folder the app will overwrite the existing dump.
    • Add an option to dump current firmware and pending update together instead of dump current firmware -> restart app -> dump pending update.
     
    awtgrduzwt5r9 and chronoss like this.
  8. fOmey
    OP

    fOmey Member

    Newcomer
    2
    Jul 18, 2018
    Australia
    Still doing a bit of research to identify firmware versions.. but this is definitely on the to do list.. would appreciate any pointers more experienced homebrew dev's would be willing to share on this.

    A pending update dump will also dump your current firmware, there is no need to dump both.. The switch appears to update only what is necessary, recycling older firmware files where possible to minimize firmware update size...
     
    Last edited by fOmey, Nov 5, 2018
  9. Garou

    Garou GBAtemp Advanced Fan

    Member
    5
    Jan 13, 2015
    find NCA with titleid of 0100000000000816 and extract the cnmt file
    here's my code to get the firmware version from update NCAs
    https://gist.github.com/garoxas/b6f2db2542250b2b34aeecc3f6fe273e
    if you need more details feel free to ask
     
  10. Reecey

    Reecey Mario 64 (favorite game of all time)

    Member
    9
    Mar 7, 2010
    At Home :)
    Really good stuff just what I was after thank you! I do think the Switch hacking scene is by far the best we have ever had at this point! it's on fire great things on the horizon for GBATemp Bounty.. Nintendo should be proud whatever the outcome maybe! and I'm sure deep down they are.. apart from piracy that is.
    nsp for main menu hope you don't mind. Route> /switch/FirmwareDumper/FirmwareDumper.nro
     

    Attached Files:

    Last edited by Reecey, Nov 5, 2018
    fOmey likes this.
  11. oriam

    oriam Newbie

    Newcomer
    1
    Oct 7, 2018
    Germany
    Sounds great and very useful. Also annoyed by the current procedure.

    But i got a little bit paranoid by reading the pinned malicious apps thread.

    Can you share the code on your GitHub profile?
     
  12. chronoss

    chronoss GBAtemp Advanced Maniac

    Member
    6
    May 26, 2015
    Central African Republic
    @fOmey : can you tel me you to update without push the "update" bouton for pending the update ?
     
  13. fOmey
    OP

    fOmey Member

    Newcomer
    2
    Jul 18, 2018
    Australia
    CHANGELOG::

    • 0.3
    1. Detect firmware version & append version to output directory names on SD card.
    2. Fixed a bug where you couldn't restart a dump after canceling in certain situations.
    3. Verify necessary partitions are mounted between operations.
     
    Last edited by fOmey, Nov 8, 2018
    chronoss, Brawl345 and peteruk like this.
  14. MyShiLingStar

    MyShiLingStar Newbie

    Newcomer
    1
    Dec 28, 2015
    Hong Kong
    I used your program to dump my switch with firmware version 5.1.0
    For some reason, the version shown in your program is 5.1.16
    May I ask is the .16 part normal?


    I have also tried to compare the dump with the one of marked as 5.1.0-3.0 in the NintendoSDK Firmware for NX.
    Some of the .nca files in the NintendoSDK is marked as .cnmt.nca
    But the dump I have got do not have the .cnmt part.
    The actual files itself seem to be identical.
    Is the .cnmt part needed if I try to use it in ChoiDujourNX?

    I am kind of afraid using the dump to downgrade.
     
    Last edited by MyShiLingStar, Nov 8, 2018
  15. shchmue

    shchmue GBAtemp Fan

    Member
    4
    Dec 23, 2013
    United States
    why the update title and not the system version title?
     
  16. fOmey
    OP

    fOmey Member

    Newcomer
    2
    Jul 18, 2018
    Australia
    Your comparing a OTA update to a update extracted from the SDK... yes they are slightly different.

    The dumper follows the same exact structure as a Nintendo OTA update... I assure you the "cnmt" files are still there.

    Its fine.

    Why not? The extra trailing digit makes your head hurt because it hurts mine! :)

    Seriously tho, I intend on fixing it.. it was a WIP and wanted to get the update out to fix the other bugs.
     
    Last edited by fOmey, Nov 8, 2018
  17. fOmey
    OP

    fOmey Member

    Newcomer
    2
    Jul 18, 2018
    Australia
    CHANGELOG::
    • 0.4
    1. Fixed firmware version detection.
     
  18. LeMageFro

    LeMageFro Member

    Newcomer
    2
    Mar 29, 2018
    France
    That's a really usefull tool thank you, it's really nice to be able to update without burning fuses directly from the switch !
     
  19. crimpshrine

    crimpshrine GBAtemp Regular

    Member
    3
    Jun 18, 2014
    United States
    Stupid question, I read the info on what this does. Still trying to figure out where exactly this fits and when it might be useful to people.. Why would someone want to dump their currently running firmware to the original update form (that can then be flashed with ChoiDujour)

    It seems like it can also dump pending updates. So would someone allow their switch to download 6.1.0 for example and it's pending, then you can use this to create the update directory which you could then flash with ChoiDujour?

    I have just been downloading the actual update zip I need (I try to stay a month or so behind) before I flash it with ChoiDujour to avoid burning efuses. All the different major firmware versions seem to be out there I believe in flashable form.

    Just trying to see if I am missing something.

    Thanks
     
  20. Reecey

    Reecey Mario 64 (favorite game of all time)

    Member
    9
    Mar 7, 2010
    At Home :)
    It’s extremely useful, you can download a pending update boot ChoiDujour straight up from your switch and update without burning fuses all at once! I would say that is very useful! It basically eliminates having to update officially anytime.

    also you can back up a full firmware in .nca format straight from your switch without the hassle involved.
     
    Last edited by Reecey, Nov 10, 2018
    fOmey likes this.
Loading...