SamboyCoding / Cpp2IL

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

Cannot map pointers to Il2CppMethodDefinitions #309

Open commonuserlol opened 5 days ago

commonuserlol commented 5 days ago

ARM64, unity is 2020.3.48f1 (metadata v27.1)

Log:

[Info] [Library] Initialized Binary in 276ms
[Info] [Library] Mapping pointers to Il2CppMethodDefinitions...

Cpp2IL.Core.Exceptions.LibCpp2ILInitializationException: Fatal Exception initializing LibCpp2IL!
 ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at LibCpp2IL.Il2CppBinary.GetMethodPointer(Int32, Int32, Int32, UInt32) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/Il2CppBinary.cs:line 430
   at LibCpp2IL.Metadata.Il2CppMethodDefinition.get_MethodPointer() in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/Metadata/Il2CppMethodDefinition.cs:line 72
   at LibCpp2IL.LibCpp2IlMain.<>c.<Initialize>b__19_0(Il2CppMethodDefinition) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlMain.cs:line 173
   at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
   at LibCpp2IL.LibCpp2IlMain.Initialize(Byte[], Byte[], UnityVersion) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlMain.cs:line 173
   at LibCpp2IL.LibCpp2IlMain.LoadFromFile(String, String, UnityVersion) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlMain.cs:line 202
   at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String, String, UnityVersion, Boolean ) in /_/Cpp2IL.Core/Cpp2IlApi.cs:line 66
   --- End of inner exception stack trace ---
   at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String, String, UnityVersion, Boolean ) in /_/Cpp2IL.Core/Cpp2IlApi.cs:line 72
   at Cpp2IL.Program.MainWithArgs(Cpp2IlRuntimeArgs runtimeArgs) in /home/runner/work/Cpp2IL/Cpp2IL/Cpp2IL/Program.cs:line 588
   at Cpp2IL.Program.Main(String[] args) in /home/runner/work/Cpp2IL/Cpp2IL/Cpp2IL/Program.cs:line 526

It looks like https://github.com/SamboyCoding/Cpp2IL/issues/305 but here it reached a bit more progress

SamboyCoding commented 4 days ago

Can't really do anything with this information. Which game?

commonuserlol commented 4 days ago

The APK is huge due assets (1.9G), I can upload libil2cpp.so, global-metadata.dat and globalgamemanagers, or APK structure is required?

commonuserlol commented 4 days ago

Alright, I'm pretty sure I can (sorry gonna sleep rn) cmdline: Cpp2IL --force-binary-path=libil2cpp.so --force-metadata-path=global-metadata.dat --force-unity-version=2020.3.48f1 --verbose binary & metadata (REMOVE .zip suffix, it's actually .7z archive): files.7z.zip