The Forum is up for sale: XeNTaX Forum looking for new owner
My Hero Academia: Strongest Hero assets
-
Spiritovod
- mega-veteran

- Posts: 171
- Joined: Sun Oct 10, 2010 9:44 pm
- Has thanked: 31 times
- Been thanked: 153 times
My Hero Academia: Strongest Hero assets
Apparently the game is using simple xor on file headers, key is derived from keys table based on file type and probably something else, while some file types are not obfuscated. I've attached test script, which can extract most asset types - just use it on the whole folder. pkm are ETC2 RGBA compressed textures, they can be converted with PVRTexTool, Mali Texture Compression Tool or any other compatible tool. bank are fsb audio, should be playable with vgmstream. Not sure about the rest though.
Update: Script is updated with support for more asset types. Currently supported: png, jpg, etc2, lua, xml, bank, flv, conf, anim, mat and mesh files.
Update: Script is updated with support for more asset types. Currently supported: png, jpg, etc2, lua, xml, bank, flv, conf, anim, mat and mesh files.
You do not have the required permissions to view the files attached to this post.
Last edited by Spiritovod on Tue May 17, 2022 1:39 pm, edited 3 times in total.
-
Spiritovod
- mega-veteran

- Posts: 171
- Joined: Sun Oct 10, 2010 9:44 pm
- Has thanked: 31 times
- Been thanked: 153 times
Re: My Hero Academia: Strongest Hero assets
@Ichicka1: It's script for quickbms.
Script is updated with support for more asset types. It also includes fix for previously covered types, such as lua and axmd (first byte in those files was incorrect).
Script is updated with support for more asset types. It also includes fix for previously covered types, such as lua and axmd (first byte in those files was incorrect).
Re: My Hero Academia: Strongest Hero assets
Oh thanks, i have another question, how do i convert mesh and animations files ?
Re: My Hero Academia: Strongest Hero assets
Where are all of the files stored? I'm only showing two .obb files in /obb totaling ~3.5gb, but system settings shows that the game has 9gb or so stored somewhere. The game also has a folder in /data, but there's only a single folder inside called /files and it appears to be empty even after showing hidden files. Is there some kind of encryption that I need a different file explorer for?
-
Spiritovod
- mega-veteran

- Posts: 171
- Joined: Sun Oct 10, 2010 9:44 pm
- Has thanked: 31 times
- Been thanked: 153 times
Re: My Hero Academia: Strongest Hero assets
@Ichicka1 : I suppose you can create separate topic with samples for models in respective section of the forum. AXMD format looks pretty straightforward, the main problem would be in linking materials (btw materials properties are stored in xml), as all assets in the game are using id -> hash -> real name mapping, while I didn't reverse that part.
@jflieger: If it doesn't download additional assets on the first launch or during the game, 3.5GB is probably the whole game, and system may count sources twice as cache and as installed files.
@jflieger: If it doesn't download additional assets on the first launch or during the game, 3.5GB is probably the whole game, and system may count sources twice as cache and as installed files.
Re: My Hero Academia: Strongest Hero assets
It does indeed download additional assets on launch, and the app storage breakdown shows a total of 8.67GB, of which 3.54GB shows as "app" (which makes sense to be the two .obb files) and 5.13GB of "data" that I can't seem to find anywhere. Cache is a miniscule 4MB or so. Another thing I had noticed after digging through the files a bit is that nothing past roughly last November seems to be in the game's files - we got Nejire Hado added as a character in February and I can't find character profile pictures, textures, banner images, card art, anything related to Hado at all. It makes me feel like there's extra data hiding somewhere that I'm missing.Spiritovod wrote: ↑Sun May 15, 2022 3:57 pm @jflieger: If it doesn't download additional assets on the first launch or during the game, 3.5GB is probably the whole game, and system may count sources twice as cache and as installed files.
-
Spiritovod
- mega-veteran

- Posts: 171
- Joined: Sun Oct 10, 2010 9:44 pm
- Has thanked: 31 times
- Been thanked: 153 times
Re: My Hero Academia: Strongest Hero assets
@jflieger : Assets can be stored in system folder as well, in /data/data/. It's not accessible directly and not visible if device is not rooted. Some games are also using non-standard folders for downloaded cache.
Re: My Hero Academia: Strongest Hero assets
Found it, I rooted Bluestacks and it was indeed in data/data. Currently transferring all of it over to Windows now, it was about 5GB worth, so it's gotta be the right stuff.Spiritovod wrote: ↑Sun May 15, 2022 6:13 pm @jflieger : Assets can be stored in system folder as well, in /data/data/. It's not accessible directly and not visible if device is not rooted. Some games are also using non-standard folders for downloaded cache.
Re: My Hero Academia: Strongest Hero assets
That was indeed everything, thanks a bunch for all your work on this script and the extra help. Any plans to reverse the file structure as well in the future?Spiritovod wrote: ↑Sun May 15, 2022 6:13 pm @jflieger : Assets can be stored in system folder as well, in /data/data/. It's not accessible directly and not visible if device is not rooted. Some games are also using non-standard folders for downloaded cache.
-
Spiritovod
- mega-veteran

- Posts: 171
- Joined: Sun Oct 10, 2010 9:44 pm
- Has thanked: 31 times
- Been thanked: 153 times
Re: My Hero Academia: Strongest Hero assets
@jflieger: No, it's too bothersome. But for reference, files are handled starting in Axon::FileManager::GetFileData function and down to Axon::FileManager::ToEncryptPath. Basically, original full paths are somehow hashed (derived from MD5) and then loaded through comparison against md5.txt manifest shipped with the game.
Re: My Hero Academia: Strongest Hero assets
@Spiritovod Gotcha. To be honest with you, that's pretty far beyond my skill level, but if I could manage to, say, find the true name/path of a texture file inside of one of the material files and match it up to the hashed file name, would it be possible to use the manifest to get all the other file names or is it strictly one-way?
-
Spiritovod
- mega-veteran

- Posts: 171
- Joined: Sun Oct 10, 2010 9:44 pm
- Has thanked: 31 times
- Been thanked: 153 times
Re: My Hero Academia: Strongest Hero assets
@jflieger: Usually such things are done through fully reversing hashing function, then grabbing unwrapped (original) paths from memory with hook or debugging and then restoring original paths by comparing result of hashing function for every original path with hashed filename - all other approaches doesn't make much sense or very limited in terms of usage. Those things are rarely done for mobile games though.
-
Takato Matsukj
- advanced
- Posts: 52
- Joined: Thu Jul 25, 2019 7:39 pm
- Has thanked: 3 times
- Been thanked: 6 times
Re: My Hero Academia: Strongest Hero assets
idk if anyone still interested in TSH but here in my MHA discord we've been datamining it for a while
https://discord.gg/uahigh
https://discord.gg/uahigh
