diff --git a/com.code-philosophy.obfuz/Editor/ObfusPasses/SymbolObfus/NameMakers/NameScope.cs b/com.code-philosophy.obfuz/Editor/ObfusPasses/SymbolObfus/NameMakers/NameScope.cs index 610f845..47eb53f 100644 --- a/com.code-philosophy.obfuz/Editor/ObfusPasses/SymbolObfus/NameMakers/NameScope.cs +++ b/com.code-philosophy.obfuz/Editor/ObfusPasses/SymbolObfus/NameMakers/NameScope.cs @@ -30,6 +30,13 @@ namespace Obfuz.ObfusPasses.SymbolObfus.NameMakers break; } } + + // keep generic type name pattern {name}`{n}, if not, il2cpp may raise exception in typeof(G) when G contains a field likes `T a`. + int index = originalName.LastIndexOf('`'); + if (index != -1) + { + nameBuilder.Append(originalName.Substring(index)); + } } } }