Generates XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket dumps from Nintendo Switch gamecards and installed SD/eMMC titles.
GPL-3.0 License
Bot releases are hidden (Show)
Published by DarkMatterCore about 1 year ago
This link will always take you to a NRO build of the latest rewrite
branch commit available at any given moment.
Please download and extract the zipped NRO from that link and place it anywhere inside the /switch
directory on your SD card. You can ignore the ELF file -- this is only provided for debugging purposes.
Remember to run Lockpick_RCM
beforehand to dump your Switch keys, which are required by nxdumptool.
For further information and support, please visit our Discord server.
Why is this a pre-release instead of an actual release?
The rewrite has been an ongoing project for some years now, but personal issues and time contraints have made it very hard for me to work on it on a consistent basis -- this makes me feel like the rewrite
branch is not ready for a full-fledged release.
However, I also feel like it is much, much more advanced than what any main
branch build could offer -- feel free to take a look at the README for a full list of features.
In my eyes, all previous nxdumptool releases have been deprecated for some time now, which led me to affectionately call them legacy
builds.
Why are you providing a link instead of an actual binary?
Some time ago, @Whovian9369 helped me setup a CI/CD pipeline for the rewrite
branch, which basically makes it possible to automatically build new commits as soon as they're pushed to the GitHub repository. There's no way in hell I'm gonna come here and update the attached binary each time new commits are pushed. Please understand.
These builds are ugly, why didn't you keep the old UI?
Because the old UI was very hard to maintain. The old codebase is a complete mess and it disgusts me (which also led me to further fuel my own self-esteem issues, but that's another topic). The idea is to eventually migrate to a borealis-based UI, much like the one from sys-clk manager.
Please bear with me for the time being. Deploying builds with console-based output is much easier to maintain and test while still developing the actual functionalities.
Why does my Asian/Cyrillic game display as garbage text?
As explained by the previous point, these builds use console-based output for simplicity's sake. Sadly, this feature doesn't support UTF-8 output. Please understand.
The new menu layout is confusing, why didn't you keep the old layout?
That'd be because the old layout was even more confusing, to my eyes. Now, the gamecard menu
strictly handles gamecard-related dump options (like XCI, certificate, HFS partitions, etc.), while the user titles
menu strictly handles dump operations for actual software titles, even if they're gamecard-based (like NSP, ticket, individual NCAs / NCA FS sections, etc.).
Admittedly, it may take some time to get used to, but it's very powerful -- almost as if you were using hactool right on your Switch to extract NCA FS sections, for example.
Published by DarkMatterCore over 2 years ago
hactoolnet
to retrieve data from these dumps is encouraged in the meantime.removeConsoleDataFromTicket()
to make it wipe other fields that weren't not being cleared.This is only a bugfix release. I don't expect to release any new versions until the rewrite is finished - the only exception being fixing some kind of feature-breaking bug. Please understand.
Published by DarkMatterCore over 3 years ago
AtmosphereHasService
IPC request.This is only a bugfix release. I don't expect to release any new versions until the rewrite is finished - the only exception being fixing some kind of feature-breaking bug. Please understand.
Published by DarkMatterCore over 3 years ago
AtmosphereHasService
SM API extension to check if a service is running. More than a year and a half has passed since this feature was introduced in Atmosphère, and it is now part of both SX OS and ReiNX, so it's a justified change. Fixes issues related to sysmodules and SM port exhaustion.This is only a bugfix release. I don't expect to release any new versions until the rewrite is finished - the only exception being fixing some kind of feature-breaking bug. Please understand.
Published by DarkMatterCore about 4 years ago
UPDATE: If you downloaded the NRO binary before 2020-11-10 01:25 AM (UTC-4), please re-download it again. Hotfixes for RomFS-related features, Atmosphère 0.15.0 support and the ability to go back from the ID Offset selection screen were introduced. Not worthy of bumping the version number.
This is only a bugfix release. I don't expect to release any new versions until the rewrite is finished - the only exception being fixing some kind of feature-breaking bug. Please understand.
Published by DarkMatterCore about 4 years ago
f01fb21
.This is only a bugfix release. I don't expect to release any new versions until the rewrite is finished - the only exception being fixing some kind of feature-breaking bug. Please understand.
Published by DarkMatterCore over 4 years ago
UPDATE: If you downloaded the NRO binary before 2020-04-30 10:25 PM (UTC-4), please re-download it again. A quick UI fix was applied to display the "Batch mode" message at the top when no orphan titles are available.
This is only a bugfix release. I don't expect to release any new versions until the rewrite is finished - the only exception being fixing some kind of feature-breaking bug. Please understand.
Published by DarkMatterCore over 4 years ago
/Model
-> /Model_0
)./Model_0
-> /Model_1
).This is only a bugfix release. I don't expect to release any new versions until the rewrite is finished - the only exception being fixing some kind of feature-breaking bug. Please understand.
Published by DarkMatterCore almost 5 years ago
TitleName [TitleID][TitleVersion]
.TitleName1 [TitleID1][TitleVersion1] + TitleName2 [TitleID2][TitleVersion2] + ... + TitleNameN [TitleIDN][TitleVersionN]
.TitleName [TitleID][TitleVersion][TitleType]
.Split files bigger than 4 GiB (FAT32 support)
: unlike previous versions, it is now possible to control if file splitting will take place for ExeFS/RomFS file dumps, instead of always splitting them. If this option is enabled, files bigger than 4 GiB will now be split and stored in a subdirectory with the archive bit set (like NSPs).Save data to CFW directory (LayeredFS)
: enabling this option will save output data to the directory from the CFW you're running, using the LayeredFS layout.main
NSO while generating the programinfo.xml
.ncmContentStorageReadContentIdFile()
. Fixes gamecard NSP/ExeFS/RomFS operations under FW versions < 4.0.0.Newb_3DS#6287
for reporting this issue!Thanks to FennecTECH and MUXI from PSXTools forums for providing with testing!
Published by DarkMatterCore almost 5 years ago
XS00000024
personalized ticket certificate introduced in 9.0.0 is now supported. Thanks to SimonTime for providing insight on this matter!sdmc:/switch/nxdumptool/Ticket
.0x236E02
/ 2002-4535
error in Goldleaf about an invalid PFS0, triggered by update NSPs with long a CNMT PFS0 section.RequiredDownloadSystemVersion
and IdOffset
elements from the CNMT XML are now properly retrieved from their true locations in the CNMT NCA.RuntimeParameterDelivery
NACP field (introduced in HOS 9.X).IARCGeneric
value in the RatingAge
NACP field (introduced in HOS 9.X).PlayLogQueryableApplicationId
values.romfsExit()
didn't close all open file handles to the NRO when I tested it with libnx v2.2.0 some time ago, thus making the application update fail. Nonetheless, the problem has been fixed.nogc
spoofing is now displayed under this particular case.Big thanks to FennecTECH and Hannah (Luna)#8459
for providing with lots of testing for this release!
PSA: if you downloaded any new games from the eShop after updating to 9.0.0+ and used a previous release of nxdumptool to dump NSPs with console specific data, please redump them - their RSA certificate chain isn't the proper one. Dumps without console specific data (or without a ticket) are not affected by this.
Published by DarkMatterCore almost 5 years ago
.xci.seq
/.nsp.seq
files used to keep track of the current dump status..nsp.hdr
file, which holds the PFS0 header data. The information from this header is filled after writing all the NCAs, thus it is saved as an additional file. This must be used as the first file (placed before .nsp.00
) when merging all the parts into a full NSP.Split output dump (FAT32 support)
(XCI/NSP). File splitting will take place, regardless of the filesystem used by the SD card. Additionally, the creation of a directory with the archive bit set isn't performed with NSP dumps.Create directory with archive bit set
(XCI only).CRC32 checksum calculation
(NSP only). CRC32 checksum calculation is still available for XCI dumps.uiDrawString()
, uiGetStrWidth()
and uiPrintOption()
are now compatible with variable argument lists, removing the need to format a string beforehand and pass its variable to any of those functions.Thanks to FennecTECH for providing with testing!
Published by DarkMatterCore about 5 years ago
appletSetCpuBoostMode
- only effective under HOS 7.0.0+!Published by DarkMatterCore about 5 years ago
UPDATE: If you downloaded the NRO binary before 2019-08-17 07:25 AM (UTC -4), please re-download it again. A quick fix was applied to avoid a crash while generating NSP dumps.
0xFFFF0000
bytes in all operations (except for XCI dumps when the "Create directory with archive bit set" option is disabled). Fixes file access problems if the parts are used inside a directory with the archive bit set.removeDirectory()
function. fsdevDeleteDirectoryRecursively()
is now used instead.Published by DarkMatterCore over 5 years ago
AuditingTool
format (like those from groups like BigBlueBox or JRP), as long as the "Remove console specific data" option is enabled and the "Generate ticket-less dump" option is disabled. Happy dumping!Published by DarkMatterCore over 5 years ago
ncmContentMetaDatabaseListApplication()
didn't match the total entry count for the selected NSP dump type.ncmContentMetaDatabaseGet()
.Thanks to Maschell, DuIslingr and MUXI from PSXTools forums for reporting these bugs and providing with testing!
Published by DarkMatterCore over 5 years ago
nxdumptool
. This is no longer a gamecard-only tool.tik
and cert
files..cnmt.xml
and .nacp.xml
files whenever possible.eticket_rsa_kek
.titlekek_##
(varies from 00
to 1F
).key_area_key_application_##
(varies from 00
to 1F
).key_area_key_ocean_##
(varies from 00
to 1F
).key_area_key_system_##
(varies from 00
to 1F
).Thanks to simontime for helping me out with the RSA certificate chain retrieval process! Also thanks to MUXI from PSXTools forums for providing with testing!
Published by DarkMatterCore over 5 years ago
Big thanks to PatrickD85, unvaluablespace, wartutor and Slim45 for testing these changes!
Published by DarkMatterCore over 5 years ago
Published by DarkMatterCore over 5 years ago
v1.0.7:
Big kudos to @Matt07211 for testing the XML parsing changes!
Published by DarkMatterCore over 5 years ago
v1.0.6:
Big kudos to @fennectech for doing tests with a type 0x02 gamecard!