ROM Hack WIP Scramble - "NEO: The World Ends with You" Save Editor

uzimakiuchiha

Well-Known Member
Member
GBAtemp Patron
Joined
May 17, 2009
Messages
633
Trophies
1
XP
1,488
Country
United States
Sorry for triple post heh.

If anyone bought the PC version and wants to donate their save files for research, that'd be super :)
I already anticipated key differences like graphics settings and the like, so a converter will be on the way even if the save structure remains the same.
I'm going to get it start of the month, so if not one has got you a save by then, I will
 

SPARKisnumber1

New Member
Newbie
Joined
Sep 28, 2021
Messages
1
Trophies
0
Age
24
Location
Youtube.com
XP
4
Country
United States
Sorry for triple post heh.

If anyone bought the PC version and wants to donate their save files for research, that'd be super :)
I already anticipated key differences like graphics settings and the like, so a converter will be on the way even if the save structure remains the same.
I have the pc port but not sure where I'd find my save data
 

Taishiro

Well-Known Member
OP
Member
Joined
Apr 22, 2020
Messages
221
Trophies
0
Age
21
XP
464
Country
Chile
I managed to get the game so I'll be tinkering with it and I'll let you guys know :)

Update:
Save file for PC release is located in "Documents/Neo The World Ends with You"
The editor is not compatible with this save file at the moment.

I'm working on it.
Interestingly enough, the game's save file is called "f1fc4b9d54965358d41213ae8ff0a0f7"... which is the MD5 checksum for the word "gamesave".

Update 2:
PC save file is "encrypted" (in quotation because I don't really know if it's really encryption)
There is also 1060 more bytes than in the PS4/Switch save file.

We need to figure this out in order to have support for PC files ^^ I'd appreciate any help because this looks like it's gonna take a while.
I've documented what I could find in here:
So first of all, I could find three important parts in the save file:

(1). offset 0 to 31: (32 bytes) some sort of key, hash or device identifier
(2). offset 32 to 1135 (1104 bytes) general game settings. this is completely encrypted.
(3). offset 1136 to 3201071 (3199936 bytes) all 10 save slots, and (very) possibly some tiny extra data. completely encrypted as well

Key/hash at (1) will remain the same always. For me, it is "CE37ECF1EC66A3A71F16ABF7682AA7A52D131F5E2C3DA2560D29187A8C12B083"
If anyone has a different value, let me know. If it's a device identifier, it's unlikely that it will help us decrypt the save file.

(2) will change if you modify any global game settings, such as graphics, volume, controls, voice language, etc. (1) and (3) will not be affected by this.
(3) will change if the game saves any of your files, either autosave or 1-9. (1) and (2) will not be affected by this.

It is clear that there is more assigned data to both settings and game save data, so offsets will possibly have to be adjusted if we manage to decrypt the save file.
 
Last edited by Taishiro,

sonic2005

Active Member
Newcomer
Joined
Jul 25, 2021
Messages
39
Trophies
0
Age
16
XP
81
Country
Aruba
I managed to get the game so I'll be tinkering with it and I'll let you guys know :)

Update:
Save file for PC release is located in "Documents/Neo The World Ends with You"
The editor is not compatible with this save file at the moment.

I'm working on it.
Interestingly enough, the game's save file is called "f1fc4b9d54965358d41213ae8ff0a0f7"... which is the MD5 checksum for the word "gamesave".

Update 2:
PC save file is "encrypted" (in quotation because I don't really know if it's really encryption)
There is also 1060 more bytes than in the PS4/Switch save file.

We need to figure this out in order to have support for PC files ^^ I'd appreciate any help because this looks like it's gonna take a while.
I've documented what I could find in here:
sorry I'm not a programmer but i will progress through the game ( i want to download it now ) and send a save when i reached that location
 

Ulcar246

New Member
Newbie
Joined
Sep 29, 2021
Messages
3
Trophies
0
Age
23
XP
3
Country
Netherlands
I managed to get the game so I'll be tinkering with it and I'll let you guys know :)

Update:
Save file for PC release is located in "Documents/Neo The World Ends with You"
The editor is not compatible with this save file at the moment.

I'm working on it.
Interestingly enough, the game's save file is called "f1fc4b9d54965358d41213ae8ff0a0f7"... which is the MD5 checksum for the word "gamesave".

Update 2:
PC save file is "encrypted" (in quotation because I don't really know if it's really encryption)
There is also 1060 more bytes than in the PS4/Switch save file.

We need to figure this out in order to have support for PC files ^^ I'd appreciate any help because this looks like it's gonna take a while.
I've documented what I could find in here:
The bytes at (1) are exactly the same for me


if you want to check it out, here's my save folder:
 

Attachments

  • neosave.zip
    6.1 MB · Views: 15

Ulcar246

New Member
Newbie
Joined
Sep 29, 2021
Messages
3
Trophies
0
Age
23
XP
3
Country
Netherlands
I still need to go through the code with a c++ decompiler, but I did find this property in the SaveDataRoot class, maybe this would help?

1632922844558.png


MagicNumber = "mt)~#Eag!HG]~d>)yjzTJsS."
 
  • Like
Reactions: Taishiro

Ulcar246

New Member
Newbie
Joined
Sep 29, 2021
Messages
3
Trophies
0
Age
23
XP
3
Country
Netherlands
This is certainly helpful. I believe it is AES encryption? But I'll take a look at it in a few.
Where is this class located? :)
It's just in the base assemby-csharp namespace it seems, not in any of the defined namespaces

In there, I think you want the SaveDataRoot class and the SaveHeader class

What I just did is run GameAssembly.dll through il2cppinspector to get all the c# type definitions, and found it in there
 

Taishiro

Well-Known Member
OP
Member
Joined
Apr 22, 2020
Messages
221
Trophies
0
Age
21
XP
464
Country
Chile
It's just in the base assemby-csharp namespace it seems, not in any of the defined namespaces

In there, I think you want the SaveDataRoot class and the SaveHeader class

What I just did is run GameAssembly.dll through il2cppinspector to get all the c# type definitions, and found it in there
I see now. I have tried loading GameAssembly.dll in il2cppinspector but it is apparently obfuscated. I did load the il2cpp metadata too. What were the steps you made?
 

sonic2005

Active Member
Newcomer
Joined
Jul 25, 2021
Messages
39
Trophies
0
Age
16
XP
81
Country
Aruba
I see now. I have tried loading GameAssembly.dll in il2cppinspector but it is apparently obfuscated. I did load the il2cpp metadata too. What were the steps you made?
well if epic use the same system of save that used for kh series it will be a hell
 

Taishiro

Well-Known Member
OP
Member
Joined
Apr 22, 2020
Messages
221
Trophies
0
Age
21
XP
464
Country
Chile
This has officially beaten me, for now at least. I am tired for today.
Been looking at the decompiled .dll's and also the main .exe in assembler language, but can't make up anything . This confirms I am no cracker, unfortunately :P

Hopefully someone more savvy in the reverse-engineering department can figure it out, because it's there.
The static class "SaveLoadController" and the class "SaveDataRoot" both contain information about loading a file, that's called "gamesave" (and yet, whatever happens internally, generates a file using the md5 hash of "gamesave" as name LOL). Whatever happens in these method is a mystery for me at the moment.

However. There are good news for Switch/PS4 players. What I could find in the decompiled data is every single property that's inside the save file and their offsets, and ~95% of it is also present in the console release, so here's to a more complete save editor.
 
  • Like
Reactions: Feroz El Mejor

Taishiro

Well-Known Member
OP
Member
Joined
Apr 22, 2020
Messages
221
Trophies
0
Age
21
XP
464
Country
Chile
it seems that Rijndael with specific key and iv was used.
That's correct. Can we get the key and IV, that's the question...
Makes me wonder if the magic number in question (a few posts above) is the IV since it is 24 characters long. but it's not hexadecimal hm. I'll check it tomorrow.

Update:
I'm silly. This magic number is also present in Switch saves (first 16 bytes). Looks like some sort of validity check.
Which leads me to believe, that if we manage to decrypt the save file there's a chance it will be exactly the same as a Switch/PS4 file in size and structure.
 
Last edited by Taishiro,

sonic2005

Active Member
Newcomer
Joined
Jul 25, 2021
Messages
39
Trophies
0
Age
16
XP
81
Country
Aruba
That's correct. Can we get the key and IV, that's the question...
Makes me wonder if the magic number in question (a few posts above) is the IV since it is 24 characters long. but it's not hexadecimal hm. I'll check it tomorrow.

Update:
I'm silly. This magic number is also present in Switch saves (first 16 bytes). Looks like some sort of validity check.
Which leads me to believe, that if we manage to decrypt the save file there's a chance it will be exactly the same as a Switch/PS4 file in size and structure.
hope its would be soon
 

sonic2005

Active Member
Newcomer
Joined
Jul 25, 2021
Messages
39
Trophies
0
Age
16
XP
81
Country
Aruba
i still couldn't think why epic made its save like this ?? png save file that you cant get from net easily , 2 part save file and config in registery
 

johnnymaq

New Member
Newbie
Joined
Oct 11, 2017
Messages
4
Trophies
0
Age
31
XP
61
Country
United States
Is there any chance transferring Switch saves to PC would be possible once the PC saves are decrypted?

I've nearly finished the game on Switch somehow not knowing it was coming to PC, and would like to do endgame on PC.

Otherwise the tool will still be helpful so thank you for your work.
 

Taishiro

Well-Known Member
OP
Member
Joined
Apr 22, 2020
Messages
221
Trophies
0
Age
21
XP
464
Country
Chile
Is there any chance transferring Switch saves to PC would be possible once the PC saves are decrypted?

I've nearly finished the game on Switch somehow not knowing it was coming to PC, and would like to do endgame on PC.

Otherwise the tool will still be helpful so thank you for your work.
Yes. If PC save files get cracked, I'll add a converter between PS4/Switch and PC saves.
 
  • Like
Reactions: johnnymaq
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Real Jdbye @ The Real Jdbye:
    @Julie_Pilgrim "very bright" is essentially pure white
    Gift
  • The Real Jdbye @ The Real Jdbye:
    pure white doesn't show up all that much it's mainly when looking at a bright sky
    Gift
  • The Real Jdbye @ The Real Jdbye:
    and if the clouds in the sky have slightly less definition to them because i turned on the contrast enhancer who cares
    Gift
  • The Real Jdbye @ The Real Jdbye:
    that's not important
    Gift
  • The Real Jdbye @ The Real Jdbye:
    i can't tell the difference
    Gift
  • The Real Jdbye @ The Real Jdbye:
    but i can certainly tell the difference with black crush if i'm watching a scifi movie and i can't see wtf is going on
    Gift
  • SG854 @ SG854:
    Human vision is logarithmic, it's not linear. And nits doesn't tell the whole story of perceived brightness. OLED'S look brighter then LCD's even when both are set to the same nit values because of the higher contrast ratio on OLED's
    Gift
  • SG854 @ SG854:
    OLED's have a 3D look
    Gift
  • kenenthk @ kenenthk:
    Charging port is more likely to fry up or battery fail before the display tbh lol
    Gift
  • The Real Jdbye @ The Real Jdbye:
    "And nits doesn't tell the whole story of perceived brightness" it's not about perceived brightness it's about all HDR content in TV and movies being mastered for 1000 nits so it doesn't look right with anything lower, it's also about dynamic range
    Gift
  • The Real Jdbye @ The Real Jdbye:
    "OLED's have a 3D look" no they don't lol
    Gift
  • SG854 @ SG854:
    As an owner of a OLED and you saying that you never seen an OLED I think I know what I'm talking about lol. I'm not talking about 3D as in 3D glasses. I'm talking about depth and pop in the picture
    Gift
  • kenenthk @ kenenthk:
    I mean to be fair og vitas are still kicking and not many have suffered from pixel bleed and they're going on nearly 10 years
    Gift
  • SG854 @ SG854:
    OLED's can get away with a lower peak brightness and still provide punchy HDR because of their contrast ratio. Like I said human vision is logarithmic. The higher the peak brightness the diminishing returns in perceived brightness.
    Gift
  • kenenthk @ kenenthk:
    Just get 5 years enjoyment out of it until Nintendy releases something and everyone forgets about switch games lol
    Gift
  • SG854 @ SG854:
    @The Real Jdbye Oleds hit around 750 nits nowadays. The difference between a 1000 nit and a 750 nit isn't huge. It's only about a 4% increase in perceived brightness. Not huge at all. You'll need at least 2000 nit displays to notice a bigger difference.
    Gift
  • SG854 @ SG854:
    Read this thread it explains it. 1000 nits is not a huge jump from 750 the LG OLEDs can hit. As I said human vision is non linear.
    +2
    Gift
  • Gift
  • mr_switch @ mr_switch:
    Not exactly 3D but the colors does pops out more
    Gift
  • mr_switch @ mr_switch:
    I just want a true dark mode theme
    for OLED Switch
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    yeah honestly i hate how the only two switch theme options are blinding holy light of god or grey
    Gift
  • El_Doot @ El_Doot:
    Kill eyes OR bore eyes to death
    +1
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    switch dark mode is ok i just wish it was a bit darker
    Gift
  • F @ Forseenink3938:
    Can anyone here please help me on how to use TickCrypt 2.0?
    Gift
  • Gift
    kenenthk @ kenenthk: