SamboyCoding / Cpp2IL

Work-in-progress tool to reverse unity's IL2CPP toolchain.
MIT License
1.68k stars 197 forks source link

Unsupported metadata version found! We support 24-29, got 31 #300

Closed PrintHelloPeople closed 3 months ago

PrintHelloPeople commented 3 months ago

Hi, i tried to run Cpp2IL to reverse an Android apk but i always get this error: Unsupported metadata version found! We support 24-29, got 31.

Full log ===Cpp2IL by Samboy063=== A Tool to Reverse Unity's "il2cpp" Build Process. [Info] [Program] Running on Unix [Info] [APK] Attempting to extract required files from APK ../game/game.apk [Info] [APK] Extracting APK/lib/arm64-v8a/libil2cpp.so to /tmp/tmpIAe9iK.tmp [Info] [APK] Extracting APK/assets/bin/Data/Managed/Metadata/global-metadata.dat to /tmp/tmpfdToYX.tmp [Info] [APK] Reading data.unity3d to determine unity version... [Info] [APK] Determined game's unity version to be 2022.3.34 [Info] [Library] Initializing Metadata... [Fail] [Program] Cpp2IL.Core.Exceptions.LibCpp2ILInitializationException: Fatal Exception initializing LibCpp2IL! ---> System.FormatException: Unsupported metadata version found! We support 24-29, got 31 at LibCpp2IL.Metadata.Il2CppMetadata.ReadFrom(Byte[] bytes, Int32[] unityVer) at LibCpp2IL.LibCpp2IlMain.Initialize(Byte[] binaryBytes, Byte[] metadataBytes, Int32[] unityVersion) at LibCpp2IL.LibCpp2IlMain.LoadFromFile(String pePath, String metadataPath, Int32[] unityVersion) at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String assemblyPath, String metadataPath, Int32[] unityVersion, Boolean allowUserToInputAddresses) --- End of inner exception stack trace --- at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String assemblyPath, String metadataPath, Int32[] unityVersion, Boolean allowUserToInputAddresses) at Cpp2IL.Program.MainWithArgs(Cpp2IlRuntimeArgs runtimeArgs) at Cpp2IL.Program.Main(String[] args) Waiting for you to press enter - feel free to copy the error...
SamboyCoding commented 3 months ago

Which game? I'm suspecting encrypted. 2022.3 does not use metadata v31. In fact no unity version that is released uses 31.

PrintHelloPeople commented 3 months ago

The game is called Pocket Ants Colony Simulator, i downloaded the apk from Apkpure. If it's encrypted what can i do?

SamboyCoding commented 3 months ago

Actually, stand by. It would appear unity HAVE bumped to version 31 for completely incomprehensible reasons in a patch version of 2022.3. Looking into it

SamboyCoding commented 3 months ago

Ok, latest github actions builds should work