It wasn't easy, but I managed to do it.
So we are porting save file from account-A to account-B. I assume there is only one character in the save file on the account-A.
c:\Users\[user-A-windows-name]\AppData\Roaming\Sekiro\[user-A-steam-id] and get the file
S0000.sl2 - this is Sekiro's save file.
- Make sure you created a save file with at least one character on the account-B - log into the game on the account-B, sign user agreement, start a new game and quit one when you get the character in the first area.
c:\Users\[user-B-windows-name]\AppData\Roaming\Sekiro\[user-B-steam-id] and be ready to replace the file, which is there, by account-A file.
- Start a new game, and while cutscene is playing alt-tab and replace the file.
- When the game is started quit out to the main menu. Go to Load menu and delete the last character (the one you just created) - you won't need it anymore.
- Now you should be able to load the game file in the main menu w/o error, but when you will try to load the first character you will get "Failed to load save data" error.
- Now you need to get hex editor. I use this one: https://mh-nexus.de/en/hxd/
- Open your account-B save file. And copy bytes with offsets from
00A003DB (hex numeration) - this is account-B SteamId, which is checked when you load the file.
- Find bytes
00034164-0003416B and replace them by the copied bytes. This is account SteamId, which is checked when you load the character. Now the error will change to "Save data is corrupted".
- Then select bytes from
0010030F and calculate MD-5 check sum on them. You should get 32-digit dex-number, which you enter at
00000300-0000030F to your save file. This is check sum for you first character data, which told the game that the data is "corrupted".
- Go to Load menu and load the first save. When you will be doing it you will see that the date and play time will be incorrect. But once you load and quit out they will be fixed.
- Graphics settings are at
c:\Users\[user-windows-name]\AppData\Roaming\Sekiro\GraphicsConfig.xml file, simply copy this file. The rest of the settings you will need to setup manually.
P.S. The data for each player character is shifted by 00100010 bytes. Knowing this you should be able to port other characters slot in the similar manner, but I haven't tried it. How to port the very last slot - I don't know.