Homebrew RELEASE Firmware Dumper

fOmey

Active Member
OP
Newcomer
Joined
Jul 18, 2018
Messages
26
Trophies
0
Age
31
XP
216
Country
Australia
2ABaimV.jpg



qrE0Pih.jpg




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::






PENDING UPDATES::

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

ccngBHD.jpg


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.

aqHTYHo.jpg


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,

Xandrid

Well-Known Member
Member
Joined
Mar 27, 2016
Messages
1,034
Trophies
0
XP
1,773
Country
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
 

hayato_ama

New Member
Newbie
Joined
Nov 5, 2018
Messages
3
Trophies
0
XP
52
Country
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.
 

fOmey

Active Member
OP
Newcomer
Joined
Jul 18, 2018
Messages
26
Trophies
0
Age
31
XP
216
Country
Australia
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.
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,

Garou

Well-Known Member
Member
Joined
Jan 13, 2015
Messages
1,213
Trophies
0
XP
1,644
Country
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.
.
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
 

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,866
Trophies
1
Location
At Home :)
XP
3,753
Country
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
 

Attachments

  • FirmwareDumper.rar
    271.4 KB · Views: 300
Last edited by Reecey,
  • Like
Reactions: fOmey

oriam

Member
Newcomer
Joined
Oct 7, 2018
Messages
24
Trophies
0
Age
34
XP
387
Country
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?
 

fOmey

Active Member
OP
Newcomer
Joined
Jul 18, 2018
Messages
26
Trophies
0
Age
31
XP
216
Country
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,

MyShiLingStar

Well-Known Member
Member
Joined
Dec 28, 2015
Messages
211
Trophies
0
Age
34
XP
491
Country
Japan
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,

fOmey

Active Member
OP
Newcomer
Joined
Jul 18, 2018
Messages
26
Trophies
0
Age
31
XP
216
Country
Australia
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.

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 the update title and not the system version title?

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,

LeMageFro

Well-Known Member
Member
Joined
Mar 29, 2018
Messages
213
Trophies
0
XP
1,220
Country
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 !
 

crimpshrine

Well-Known Member
Member
Joined
Jun 18, 2014
Messages
594
Trophies
0
XP
1,146
Country
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
 

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,866
Trophies
1
Location
At Home :)
XP
3,753
Country
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
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,
  • Like
Reactions: fOmey
General chit-chat
Help Users
    Veho @ Veho: What happened to that?