I managed to transfer my playtime data from a CFW NAND backup (from a corrupt SD card that wouldn't write anymore) to a new CFW (on a new SD card) on the same device, but maybe this will be helpful for you.
Originally, I had transferred the saves from my NAND backup to JKSB (in a pretty arduous manual process, which involved redownloading all my games), but as you know, this did not transfer the play time at all.
What worked was to replace the relevant user profile or play time files on my new SD card with the ones from my old SD card / NAND backup. These files are stored in the SYSTEM save, so you'll have to access the SYSTEM partition on both NANDs. I used dbi's Activity log to check the changes.
- 8000000000000010 and 8000000000000011: I believe these store the user profiles
- When I replaced only these files, my user profiles changed to the old profiles, but my activity log stayed the same.
- I assume linkalho is basically replacing these files (or just 8000000000000010), based off what I skimmed in the source code.
- 80000000000000f0: This contains the play time data for all profiles
- When I replaced only this file, my Activity log changed to the old NAND's play times, and removed my new NAND's play times. My user profiles did not change. This did lead to some Unknown Players in the Activity log. I went with this setup, since my newer CFW did not have many hours on it, but had more players.
Merging profiles / play time data?
I wasn't able to figure out how to merge the two NAND's profiles/play times, but I was happy with sticking with just one. You'll likely have to modify the .dat files that are in the SYSTEM save files. I assume the process would be something like:
- Decrypt the 8000000000000010 and 80000000000000f0 files using NXNandManager or hactoolnet
- To combine the player profiles, maybe modify one of the .dat files in 8000000000000010?
- To combine the play time data, somehow merge the 80000000000000f0/PlayEvent.dat files?
I tried opening the .dat files, but gave up at trying to modify binary.
I'll step through how I replaced my activity log, since that might be helpful to someone.
Tools
My CFW is Atmosphere. The tools I used were:
Create a copy of the SYSTEM/save folder from both systems on your PC
You honestly only need the files
80000000000000f0 and maybe
8000000000000010 and
8000000000000011, but I saved everything in case I accidentally deleted the wrong things or wanted to revert.
You can do this in any way--you just need to be able to access the files on the partition if you're on a partition-based CFW like I am.
Copying the files from a NAND backup
I did this using NxNandManager.
- Options > Configure keyset
- Give it your prod.keys from Lockpick
- File > Open File > FULL NAND.bin
- In the Partitions box, choose SYSTEM and then click the Explore partition button
-
- Change your directory to /save
- Highlight all files, right click, and choose Save As
Copying the files from your CFW / Atmosphere
I did this using dbi.
- Have your new SD card running
- Connect the Switch to my PC
- Start dbi from hbmenu
- Run MTP responder
- On the PC, the SD card and its partitions should be mounted now. I accessed it through My PC > Switch.
- Copy the saves folder in the SYSTEM (or Nand SYSTEM) drive.
Replace the play time data file on the new CFW
The general idea is to access the new CFW's SYSTEM/save folder again and replace the relevant files. I only replaced my play time data without replacing the player profiles. You can probably replace all three if you want.
Here were my steps using Hekate, since I didn't want to take out my SD card. You can just take it out and plug it in directly too.
Mount your NAND with write access using Hekate and NxNandManager
- Connect your Switch to the PC
- Boot to Hekate on the Switch
- Go to Tools > USB Tools
- Set Read-Only to OFF to allow you to write to the SYSTEM folder
- Tap emu RAW GPP to mount your emunand on your PC
- On your PC, open NxNandManager and mount your Hekate NAND thing
Replace the files
Note that I kept running into errors replacing my files. The paste operation would stop at 0% or 99%.
Unmounting in this state led to Atmosphere crashing on boot. When I remounted the drives, the files I had replaced said
their size was 0 KB or 1 KB.
What worked for me instead was to
delete the files and then paste in the new files.
- Open the save folder
- Delete the files you want to replace. For me, I only deleted 80000000000000f0.
- Replace the file you just deleted with the the copy from the old NAND (this is the data you want)
Unmount everything and check your activity log
- Unmount from NxNandManager
- Unmount the NAND drive (I had to go to Devices and Printers and unmount UMS, since it wasn't showing up in My PC)
- Boot into your CFW from Hekate (Atmosphere)
- Open dbi and check Activity Log
If this did not work, remount everything and confirm that the replaced files are the correct size. They may not have finished copying over.