ROM Hack [Release] Monster Hunter Stories Save Editor MHSEC-G

tadho

Active Member
Newcomer
Joined
Nov 10, 2016
Messages
31
Trophies
0
XP
99
Country
Indonesia
@tadho
For some reason i didn't get an alert. Anyway.
I had a look at the decompiled bytecode and save related shit was heavily obfuscated. The decompiler could not even decompile without errors there. I have no idea how to properly reverse engineer that tbh.

If only someone could help me understand the assembly code in the screenshot below, I'm quite confident that I can write a script/program to mint the checksum for MHST mobile save file.

Ae0tMrX.png


It's checkSaveData() function in lib/arm64-v8a/libMHR.so file inside the APK. I have like zero knowledge of assembly code, I can't do much here :cry:
 
Last edited by tadho,

ghjfdtg

Well-Known Member
Member
Joined
Jul 13, 2014
Messages
1,372
Trophies
1
XP
3,320
Country
@tadho
Do you have the Hex-rays decompiler plugin for AArch64? I was under the impression that stuff was written in Java. Did not even bother looking into the .so. Pretty funny they didn't even strip it from all symbols. With the decompiler it should be much easier.
 

tadho

Active Member
Newcomer
Joined
Nov 10, 2016
Messages
31
Trophies
0
XP
99
Country
Indonesia
@tadho
Do you have the Hex-rays decompiler plugin for AArch64? I was under the impression that stuff was written in Java. Did not even bother looking into the .so. Pretty funny they didn't even strip it from all symbols. With the decompiler it should be much easier.

yeah, I tried opening the .so file with Hopper and IDA warez (I guess IDA gives more information), I don't understand a single thing tho lol. I suppose most graphics-intensive Android games are written with JNI to ramp up the performance.
 

ghjfdtg

Well-Known Member
Member
Joined
Jul 13, 2014
Messages
1,372
Trophies
1
XP
3,320
Country
Just place the cursor inside the function and open a new decompiler view. Unfortunately i don't have the game data anymore. I deleted it.
 

Xefraxciton

New Member
Newbie
Joined
Nov 23, 2018
Messages
3
Trophies
0
Age
25
XP
54
Country
United States
So, Might I ask where the tutorial went? I'm just now trying this on for size, and have no idea where to find the important details.
 

karikatourea

Active Member
Newcomer
Joined
Sep 26, 2017
Messages
25
Trophies
0
Age
32
XP
185
Country
Greece
Would it be somehow possible with this to add Navirou's outfit from the demo?
I started playing the full game directly and I don't know why I care, it annoys me a lot that it's now impossible to get. Still, I don't want to reset all those hours of my life just for that.
 

iSharingan

Show me your power
Member
Joined
Jun 23, 2016
Messages
806
Trophies
0
XP
1,663
Country
United States
Would it be somehow possible with this to add Navirou's outfit from the demo?
I started playing the full game directly and I don't know why I care, it annoys me a lot that it's now impossible to get. Still, I don't want to reset all those hours of my life just for that.
if you're talking about on mobile, there's a tournament ruleset that gives the same rewards as the demo (rustshard, etc)
 
Last edited by iSharingan,

karikatourea

Active Member
Newcomer
Joined
Sep 26, 2017
Messages
25
Trophies
0
Age
32
XP
185
Country
Greece
No, actually I'm talking about the old good traditional 3DS version.

[EDIT: I ...just got it. Huh.
Seriously, I did Google it thoroughly before asking here. By google, it was more or less impossible.
I did download the demo though, and by simply opening it and letting it create it's data, I got the outfit.
I guess I should experiment more and don't always trust Google too much ?]
 
Last edited by karikatourea,

TKRZ_MTKRZ

Active Member
Newcomer
Joined
Sep 23, 2018
Messages
28
Trophies
0
Age
24
XP
86
Country
Israel
DUDE MY SAVE'S DEAD AFTER EVRY STUPID TIME I'M TRYIN' TO EDIT IT MY GAME CRASH EVERY SAVE LOAD!!!!!
IS THERE A WAY TO UNBREAK MY SAVE????
 

JuanHecate

Member
Newcomer
Joined
Jan 29, 2019
Messages
10
Trophies
0
Age
27
XP
197
Country
Mexico
After spending a lot of time and seeing that Capcom forgot update 1.3, I have a doubt, of causality there is already an MHST-SE for the Japanese version with its update 1.3? because the current one tries to use it with version 1.3 JAP and does not tell me the modification of the .sav and when I open the game in the editor's menu I do not get anything, I ask to know if the developers of the program followed up or are in that to get an update that works with 1.3

Who would say that this game after 2 years is still wanted despite its repetitive PVP as pokemon XD
 

Maq47

Lord of Pyro
Member
Joined
Jan 7, 2012
Messages
1,257
Trophies
1
Location
Your basement
Website
idont.have.one
XP
3,320
Country
United States
If only someone could help me understand the assembly code in the screenshot below, I'm quite confident that I can write a script/program to mint the checksum for MHST mobile save file.

Ae0tMrX.png


It's checkSaveData() function in lib/arm64-v8a/libMHR.so file inside the APK. I have like zero knowledge of assembly code, I can't do much here :cry:
I figured out the checksum! It is a SHA-1 of the data from 0x40 to the end of the file, but the SHA-1 is separated into 4 byte chunks, and each chunk is byteswapped. @iSharingan, could you implement code to regenerate the checksum and post a PR here for it? Or anyone, really. I'll work on updating the offsets for the mobile version.
 

Maq47

Lord of Pyro
Member
Joined
Jan 7, 2012
Messages
1,257
Trophies
1
Location
Your basement
Website
idont.have.one
XP
3,320
Country
United States
I updated the offsets for mobile (I added Version.ANDROID, SAVE_FILE_SIZE_ANDROID, android armor, character, egg, egg fragment, item, monster, talisman, and weapon offset cases, and provided all offsets and sizes supported by the application for the 3DS). I also translated about half of the items in the Resources/idmap.txt file, and will very soon provide both "egg_dummy_template_android.bin" and "egg_null_template_android.bin" files since the Android version made egg data smaller by 0x12 bytes and monster data larger by 0x20 bytes. I currently already have the "egg_null_template_android.bin" file made, but need to make sure that my implementation of the dummy egg works properly first before pushing both files.
 
Last edited by Maq47,

iSharingan

Show me your power
Member
Joined
Jun 23, 2016
Messages
806
Trophies
0
XP
1,663
Country
United States
I figured out the checksum! It is a SHA-1 of the data from 0x40 to the end of the file, but the SHA-1 is separated into 4 byte chunks, and each chunk is byteswapped. @iSharingan, could you implement code to regenerate the checksum and post a PR here for it? Or anyone, really. I'll work on updating the offsets for the mobile version.
@tadho or @ghjfdtg are likely better choices, as I'm completely unfamiliar with coding checksum generators. tadho posted this earlier, so we should be in business:

If only someone could help me understand the assembly code in the screenshot below, I'm quite confident that I can write a script/program to mint the checksum for MHST mobile save file.

Also, if you like, I can share/add you to my googledocs spreadsheet where I was translating the items names (though I didn't really get any further than you have so far). By using the spreadsheet, it makes it easy to export by hiding/deleting the column with the japanese name and then copying the IDs next to the translated item names to paste into the editor's source files. also maybe enable the 'issues' tab on your github fork of the editor. I could have said this last part there if it was
 
Last edited by iSharingan,

ghjfdtg

Well-Known Member
Member
Joined
Jul 13, 2014
Messages
1,372
Trophies
1
XP
3,320
Country
I don't know C# unfortunately so i'm out. Bu it sounds easy enough. Just get a SHA1 lib (there is probably one included you can just use) and do the hashing/byte swapping stuff. It isn't hard at all.
 

renkurogane

New Member
Newbie
Joined
Feb 8, 2019
Messages
3
Trophies
0
Age
28
XP
56
Country
Singapore
Hello, TLDR: "Data expensive cant read for long"

Does OP still have the IDs for all the items, skills, genes ETC? because the google link he gave in first post is fried.

Would be grateful to get a working link.
 

Maq47

Lord of Pyro
Member
Joined
Jan 7, 2012
Messages
1,257
Trophies
1
Location
Your basement
Website
idont.have.one
XP
3,320
Country
United States
Also, if you like, I can share/add you to my googledocs spreadsheet where I was translating the items names (though I didn't really get any further than you have so far). By using the spreadsheet, it makes it easy to export by hiding/deleting the column with the japanese name and then copying the IDs next to the translated item names to paste into the editor's source files.

Sure. Send me a PM.

also maybe enable the 'issues' tab on your github fork of the editor. I could have said this last part there if it was
Done.

Hello, TLDR: "Data expensive cant read for long"

Does OP still have the IDs for all the items, skills, genes ETC? because the google link he gave in first post is fried.

Would be grateful to get a working link.

A working link can be found within Readme.md for my fork on my GitHub.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    @mthrnite, Cheetah Girls, the sequel to Action 52's Cheetah Men.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Pokemon Black I played that one a lot
  • K3Nv2 @ K3Nv2:
    Honestly never messed with Pokémon on ds much
  • mthrnite @ mthrnite:
    I played pokemon once, was bored, never tried again
  • Psionic Roshambo @ Psionic Roshambo:
    Oh Dragon Quest IX
  • K3Nv2 @ K3Nv2:
    Spent like 5 hours on switch one never touched it again
  • Psionic Roshambo @ Psionic Roshambo:
    Sentinel of the stary skies
  • K3Nv2 @ K3Nv2:
    Ds is 20 years old this year
  • Psionic Roshambo @ Psionic Roshambo:
    So MJ no longer wants to play with it?
  • K3Nv2 @ K3Nv2:
    He put it down when the 3ds came out
  • SylverReZ @ SylverReZ:
    @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.
  • Jayro @ Jayro:
    Eventhough the New 3DS XL is more powerful, I still feel like the DS Lite was a more polished system. It's a real shame that it never got an XL variant keeping the GBA slot. You'd have to go on AliExpress and buy an ML shell to give a DS phat the unofficial "DS Lite" treatment, and that's the best we'll ever get I'm afraid.
    +1
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
    Veho @ Veho: