Perfare / AssetStudio

AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles.
MIT License
13.26k stars 2.56k forks source link

Ori And The Will Of The Wisps #572

Open CosmicDreamsOfCode opened 4 years ago

CosmicDreamsOfCode commented 4 years ago

I think the game might be obfuscated somehow. A bunch of animators don't export or have proper names(usually just an _ ) image

CosmicDreamsOfCode commented 4 years ago

The Switch version of Ori and the Blind Forest also has the same issue with GameObject names. That game runs on 2018.4.1f1 Will of the Wisps is on 2018.4.11f1 It could be an issue with these versions.

Perfare commented 4 years ago

I need source files, according to my test, 2018.4.x is supported.

CosmicDreamsOfCode commented 4 years ago

This should have some shared assets. https://drive.google.com/file/d/1L3s8CuSZ5Xz7XhRoWc9YndOwrm5c8efU/view?usp=drivesdk I'm pretty sure there's obfuscation involved. Characters might also not use animators. instead avatars...

Perfare commented 4 years ago

It should be that the game uses some confusion, not the cause of AssetStudio.

CosmicDreamsOfCode commented 4 years ago

Well one issue I did run into that was with AssetStudio (specifically after the last few builds) was that animators fail to export due to the characters used in their file names since they were obfuscated. Perhaps treating "invalid" names as just the type name and path id would work as a solution.

Perfare commented 4 years ago

Can you provide an example file to help me determine where to modify?

CosmicDreamsOfCode commented 4 years ago

The files in the drive link I shared have animators in them that fail to export. Game objects should also have the same issue.

Perfare commented 4 years ago

Ok i will check it.

CosmicDreamsOfCode commented 4 years ago

I think some animators crashed regardless(without an error message, just freezes the program) I'll need to check and see if I can get a specific example. I'm pretty sure there is one in the sharedassets files I sent however.

CosmicDreamsOfCode commented 3 years ago

Looking into this game again i found MonoBehavior files won't load with the dummyDLL's from il2cppdumper. Some do work but 99% of them fail to load. DummyDLL.zip Here are said DLLs.

CosmicDreamsOfCode commented 3 years ago

I recently got the game on steam and decided to try those files with newest assetstudio. image i'm getting this now when loading the files. I also notice after fully loading, that items with stripped names no longer show, so i can't even attempt to export the animators.

CosmicDreamsOfCode commented 3 years ago

Looking into this game again i found MonoBehavior files won't load with the dummyDLL's from il2cppdumper. Some do work but 99% of them fail to load. DummyDLL.zip Here are said DLLs.

image An image of one of the errors for these too.

Perfare commented 3 years ago
  1. According to your screenshot, can be sure that the game has modified the structure of AnimationClip, and the file that reported an error during loading will not be displayed in the list. Even if some AnimationClips are displayed in the list, they must not be exported normally.
  2. Do not use the .net core version of il2cppdumper.
CosmicDreamsOfCode commented 3 years ago
  1. According to your screenshot, can be sure that the game has modified the structure of AnimationClip, and the file that reported an error during loading will not be displayed in the list. Even if some AnimationClips are displayed in the list, they must not be exported normally.
  2. Do not use the .net core version of il2cppdumper.

I see. Thank you. Is there any chance for support of the modified formats? I think animators and animation clips are the only two changed Though gameobject as a whole could also be it may also just be the names of the files messing it up animators and gameobjects all have stripped/maybe broken names

CosmicDreamsOfCode commented 3 years ago

image Some animations appear to throw a slightly different error.

CosmicDreamsOfCode commented 3 years ago
  1. According to your screenshot, can be sure that the game has modified the structure of AnimationClip, and the file that reported an error during loading will not be displayed in the list. Even if some AnimationClips are displayed in the list, they must not be exported normally.
  2. Do not use the .net core version of il2cppdumper.

I see. Thank you. Is there any chance for support of the modified formats? I think animators and animation clips are the only two changed Though gameobject as a whole could also be it may also just be the names of the files messing it up animators and gameobjects all have stripped/maybe broken names

I was told by someone on discord that names for files do exist, just they're "elsewhere" (didn't clarify more) I had a look for myself, and i think they are just shifted a bit from normal(perhaps some extra data?)

CosmicDreamsOfCode commented 3 years ago

image Some animations appear to throw a slightly different error.

Version 1.0 of the game has no errors for animation clips. So all that remains is the apparently shifted names for objects and animators.

CosmicDreamsOfCode commented 3 years ago

unknown I did a bit of deeper looking and it seems, that at least in the 1.0 files, the names are just shifted by a few bytes forward. I haven't checked a whole lot of examples though, so it may vary and I also didn't check the newest versions of the game yet

CosmicDreamsOfCode commented 2 years ago

image In GameObject.cs if you read an extra int32 after the first one it will get all the GameObject names correctly. Now i need to figure out why it's not exporting the main character model with a rig when i export an animator...

CosmicDreamsOfCode commented 2 years ago

Back again. I've "fixed" animator export somewhat. Object and bone positioning and the like seems pretty screwed up for some animators but i think thats normal unity jank(?) I added an extra int64 between lines 84 and 85 of Renderer.cs.