diff --git a/Il2CppDumper/Il2Cpp/Il2Cpp.cs b/Il2CppDumper/Il2Cpp/Il2Cpp.cs index 37e7182..28441fe 100644 --- a/Il2CppDumper/Il2Cpp/Il2Cpp.cs +++ b/Il2CppDumper/Il2Cpp/Il2Cpp.cs @@ -55,6 +55,15 @@ namespace Il2CppDumper if (Version >= 24.2) { pCodeRegistration = MapVATR(codeRegistration); + if (Version == 29) + { + if (pCodeRegistration.genericMethodPointersCount > 0x50000) //TODO + { + Version = 29.1; + codeRegistration -= PointerSize * 2; + Console.WriteLine($"Change il2cpp version to: {Version}"); + } + } if (Version == 27) { if (pCodeRegistration.reversePInvokeWrapperCount > 0x50000) //TODO diff --git a/Il2CppDumper/Il2Cpp/Il2CppClass.cs b/Il2CppDumper/Il2Cpp/Il2CppClass.cs index cc59082..8ee200e 100644 --- a/Il2CppDumper/Il2Cpp/Il2CppClass.cs +++ b/Il2CppDumper/Il2Cpp/Il2CppClass.cs @@ -44,9 +44,13 @@ namespace Il2CppDumper [Version(Min = 21, Max = 22)] public ulong guids; // Il2CppGuid [Version(Min = 22)] - public long unresolvedVirtualCallCount; + public long unresolvedVirtualCallCount; //29.1 unresolvedIndirectCallCount; [Version(Min = 22)] public ulong unresolvedVirtualCallPointers; + [Version(Min = 29.1)] + public ulong unresolvedInstanceCallPointers; + [Version(Min = 29.1)] + public ulong unresolvedStaticCallPointers; [Version(Min = 23)] public ulong interopDataCount; [Version(Min = 23)] diff --git a/Il2CppDumper/Outputs/StructGenerator.cs b/Il2CppDumper/Outputs/StructGenerator.cs index 209191e..83a89d0 100644 --- a/Il2CppDumper/Outputs/StructGenerator.cs +++ b/Il2CppDumper/Outputs/StructGenerator.cs @@ -416,6 +416,7 @@ namespace Il2CppDumper sb.Append(HeaderConstants.HeaderV27); break; case 29: + case 29.1: sb.Append(HeaderConstants.HeaderV29); break; default: