mafaca / UtinyRipper

GUI and API library to work with Engine assets, serialized and bundle files
MIT License
2.78k stars 426 forks source link

error decompile Assembly-CSharp from Nintendo Switch #1464

Open ImanCol opened 1 year ago

ImanCol commented 1 year ago
System : AssetRipper GUI Version
System : System Version: Microsoft Windows NT 10.0.19045.0
System : Operating System: Windows 64 bit
System : AssetRipper Version: 0.3.0.6
System : AssetRipper Build Type: Release Published
System : UTC Current Time: Wed Mar 29 17:27:19 UTC 2023
System : UTC Compile Time: Mon Feb  6 22:39:18 UTC 2023
System : Loading locale en_US.json
General : Configuration Settings:
General : ScriptContentLevel: Level2
General : StreamingAssetsMode: Extract
General : ExportRootPath: C:\Users\marlo\Downloads\Compressed\AssetRipper_win_x64\Ripped
General : ExportDependencies: False
General : BundledAssetsExportMode: DirectExport
General : AudioExportFormat: Default
General : ImageExportFormat: Png
General : MeshExportFormat: Native
General : ScriptExportMode: Decompiled
General : ScriptLanguageVersion: AutoSafe
General : ShaderExportMode: Dummy
General : SpriteExportMode: Yaml
General : TerrainExportMode: Yaml
General : TextExportMode: Parse
General : EnablePrefabOutlining: False
General : EnableStaticMeshSeparation: False
General : Attempting to read files from G:\Switch\Extract\Puzzle-Bobble2-BUST-A-MOVE3 S-Tribute\Program 0
Import : Switch game structure has been found at 'G:\Switch\Extract\Puzzle-Bobble2-BUST-A-MOVE3 S-Tribute\Program 0'
Import : Collecting game files...
Import : Game file 'globalgamemanagers' has been found
Import : Game file 'level0' has been found
Import : Collecting Streaming Assets...
Import : Files use the 'IL2Cpp' scripting backend.
Import : During Il2Cpp initialization, found Unity version: 2021.3.5a0
Cpp2IL : Initializing Metadata...
Cpp2IL : Using actual IL2CPP Metadata version 29
Cpp2IL : Initialized Metadata in 109ms
Cpp2IL : Using binary type Nintendo Switch Object (from LibCpp2IL)
Cpp2IL : Searching Binary for Required Data...
Cpp2IL : Decompressing NSO file...
Import : Could not initialize assembly manager. Switching to the 'Unknown' scripting backend.
Cpp2IL.Core.Exceptions.LibCpp2ILInitializationException: Fatal Exception initializing LibCpp2IL!
 ---> System.Exception: Failed to find pCodegenModules
   at LibCpp2IL.BinarySearcher.FindCodeRegistrationPost2019() in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/BinarySearcher.cs:line 193
   at LibCpp2IL.Il2CppBinary.FindCodeAndMetadataReg(Int32 methodCount, Int32 typeDefinitionsCount) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/Il2CppBinary.cs:line 450
   at LibCpp2IL.LibCpp2IlBinaryRegistry.CreateAndInit(Byte[] buffer, Il2CppMetadata metadata) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlBinaryRegistry.cs:line 68
   at LibCpp2IL.LibCpp2IlMain.Initialize(Byte[] binaryBytes, Byte[] metadataBytes, UnityVersion unityVersion) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlMain.cs:line 159
   at LibCpp2IL.LibCpp2IlMain.LoadFromFile(String pePath, String metadataPath, UnityVersion unityVersion) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlMain.cs:line 203
   at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String assemblyPath, String metadataPath, UnityVersion unityVersion, Boolean allowUserToInputAddresses) in /_/Cpp2IL.Core/Cpp2IlApi.cs:line 61
   --- End of inner exception stack trace ---
   at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String assemblyPath, String metadataPath, UnityVersion unityVersion, Boolean allowUserToInputAddresses) in /_/Cpp2IL.Core/Cpp2IlApi.cs:line 67
   at AssetRipper.Import.Structure.Assembly.Managers.IL2CppManager.Initialize(PlatformGameStructure gameStructure) in D:\a\AssetRipper\AssetRipper\Source\AssetRipper.Import\Structure\Assembly\Managers\IL2CppManager.cs:line 86
   at AssetRipper.Import.Structure.GameStructure.GameStructure.InitializeAssemblyManager(CoreConfiguration configuration) in D:\a\AssetRipper\AssetRipper\Source\AssetRipper.Import\Structure\GameStructure\GameStructure.cs:line 107

General : Finished reading files
General : Processing assemblies...
General : Processing loaded assets...
Processing : Creating Scene Definitions
Processing : Terrain Alpha Texture Pairing
Processing : Lighting Data Assets
Processing : Reconstruct AnimatorController Assets
Processing : Editor Format Conversion
General : Finished processing assets
Import : Asset collection has versions probably incompatible with each other. Here they are:
Import : 2021.3.2f1
Import : 2021.3.5f1

System : AssetRipper GUI Version
System : System Version: Microsoft Windows NT 10.0.19045.0
System : Operating System: Windows 64 bit
System : AssetRipper Version: 0.3.0.6
System : AssetRipper Build Type: Release Published
System : UTC Current Time: Wed Mar 29 17:27:19 UTC 2023
System : UTC Compile Time: Mon Feb  6 22:39:18 UTC 2023
System : Loading locale en_US.json
General : Configuration Settings:
General : ScriptContentLevel: Level2
General : StreamingAssetsMode: Extract
General : ExportRootPath: C:\Users\marlo\Downloads\Compressed\AssetRipper_win_x64\Ripped
General : ExportDependencies: False
General : BundledAssetsExportMode: DirectExport
General : AudioExportFormat: Default
General : ImageExportFormat: Png
General : MeshExportFormat: Native
General : ScriptExportMode: Decompiled
General : ScriptLanguageVersion: AutoSafe
General : ShaderExportMode: Dummy
General : SpriteExportMode: Yaml
General : TerrainExportMode: Yaml
General : TextExportMode: Parse
General : EnablePrefabOutlining: False
General : EnableStaticMeshSeparation: False
General : Attempting to read files from G:\Switch\Extract\Puzzle-Bobble2-BUST-A-MOVE3 S-Tribute\Program 0
Import : Switch game structure has been found at 'G:\Switch\Extract\Puzzle-Bobble2-BUST-A-MOVE3 S-Tribute\Program 0'
Import : Collecting game files...
Import : Game file 'globalgamemanagers' has been found
Import : Game file 'level0' has been found
Import : Collecting Streaming Assets...
Import : Files use the 'IL2Cpp' scripting backend.
Import : During Il2Cpp initialization, found Unity version: 2021.3.5a0
Cpp2IL : Initializing Metadata...
Cpp2IL : Using actual IL2CPP Metadata version 29
Cpp2IL : Initialized Metadata in 109ms
Cpp2IL : Using binary type Nintendo Switch Object (from LibCpp2IL)
Cpp2IL : Searching Binary for Required Data...
Cpp2IL : Decompressing NSO file...
Import : Could not initialize assembly manager. Switching to the 'Unknown' scripting backend.
Cpp2IL.Core.Exceptions.LibCpp2ILInitializationException: Fatal Exception initializing LibCpp2IL!
 ---> System.Exception: Failed to find pCodegenModules
   at LibCpp2IL.BinarySearcher.FindCodeRegistrationPost2019() in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/BinarySearcher.cs:line 193
   at LibCpp2IL.Il2CppBinary.FindCodeAndMetadataReg(Int32 methodCount, Int32 typeDefinitionsCount) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/Il2CppBinary.cs:line 450
   at LibCpp2IL.LibCpp2IlBinaryRegistry.CreateAndInit(Byte[] buffer, Il2CppMetadata metadata) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlBinaryRegistry.cs:line 68
   at LibCpp2IL.LibCpp2IlMain.Initialize(Byte[] binaryBytes, Byte[] metadataBytes, UnityVersion unityVersion) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlMain.cs:line 159
   at LibCpp2IL.LibCpp2IlMain.LoadFromFile(String pePath, String metadataPath, UnityVersion unityVersion) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlMain.cs:line 203
   at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String assemblyPath, String metadataPath, UnityVersion unityVersion, Boolean allowUserToInputAddresses) in /_/Cpp2IL.Core/Cpp2IlApi.cs:line 61
   --- End of inner exception stack trace ---
   at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String assemblyPath, String metadataPath, UnityVersion unityVersion, Boolean allowUserToInputAddresses) in /_/Cpp2IL.Core/Cpp2IlApi.cs:line 67
   at AssetRipper.Import.Structure.Assembly.Managers.IL2CppManager.Initialize(PlatformGameStructure gameStructure) in D:\a\AssetRipper\AssetRipper\Source\AssetRipper.Import\Structure\Assembly\Managers\IL2CppManager.cs:line 86
   at AssetRipper.Import.Structure.GameStructure.GameStructure.InitializeAssemblyManager(CoreConfiguration configuration) in D:\a\AssetRipper\AssetRipper\Source\AssetRipper.Import\Structure\GameStructure\GameStructure.cs:line 107

General : Finished reading files
General : Processing assemblies...
General : Processing loaded assets...
Processing : Creating Scene Definitions
Processing : Terrain Alpha Texture Pairing
Processing : Lighting Data Assets
Processing : Reconstruct AnimatorController Assets
Processing : Editor Format Conversion
General : Finished processing assets
Import : Asset collection has versions probably incompatible with each other. Here they are:
Import : 2021.3.2f1
Import : 2021.3.5f1

log.txt GameMain.zip

ds5678 commented 1 year ago

This is uTinyRipper, not AssetRipper, but anyway this isn't an AssetRipper problem either. It's a Cpp2IL issue.

https://github.com/SamboyCoding/Cpp2IL/issues

ImanCol commented 1 year ago

oh sorry, I was inspecting your repos and opened the issue in the wrong place...

This also happens in other decompilers like UnityEX and DevXUnity

ds5678 commented 1 year ago

UnityEX

This has Il2Cpp decompilation?