Skip to content

Commit 14ccabc

Browse files
authored
Merge e17826c into bfb3e93
2 parents bfb3e93 + e17826c commit 14ccabc

File tree

5 files changed

+15
-5
lines changed

5 files changed

+15
-5
lines changed

Confuser.Renamer/AnalyzePhase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ void Analyze(NameService service, ConfuserContext context, ProtectionParameters
176176
return;
177177

178178
if (type.InheritsFromCorlib("System.Attribute")) {
179-
service.ReduceRenameMode(type, RenameMode.ASCII);
179+
service.ReduceRenameMode(type, RenameMode.Reflection);
180180
}
181181

182182
if (type.InheritsFrom("System.Configuration.SettingsBase")) {

Confuser.Renamer/Analyzers/ResourceAnalyzer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public void Analyze(ConfuserContext context, INameService service, ProtectionPar
3838
context.Logger.WarnFormat(Resources.ResourceAnalyzer_Analyze_CouldNotFindResourceType, typeName);
3939
continue;
4040
}
41-
service.ReduceRenameMode(type, RenameMode.ASCII);
41+
service.ReduceRenameMode(type, RenameMode.Reflection);
4242
service.AddReference(type, new ResourceReference(res, type, format));
4343
}
4444
}
@@ -69,7 +69,7 @@ public void Analyze(ConfuserContext context, INameService service, ProtectionPar
6969
context.Logger.WarnFormat(Resources.ResourceAnalyzer_Analyze_CouldNotFindResourceType, typeName);
7070
continue;
7171
}
72-
service.ReduceRenameMode(type, RenameMode.ASCII);
72+
service.ReduceRenameMode(type, RenameMode.Reflection);
7373
service.AddReference(type, new ResourceReference(res, type, format));
7474

7575
if (mismatchingName)

Confuser.Renamer/Analyzers/TypeBlobAnalyzer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ private static void AnalyzeCAArgument(ICollection<ModuleDefMD> modules, INameSer
134134
if (modules.Contains((ModuleDefMD)typeDef.Module)) {
135135
if (typeRef is TypeRef)
136136
service.AddReference(typeDef, new TypeRefReference((TypeRef)typeRef, typeDef));
137-
service.ReduceRenameMode(typeDef, RenameMode.ASCII);
137+
service.ReduceRenameMode(typeDef, RenameMode.Reflection);
138138
}
139139
}
140140
}

Confuser.Renamer/NameService.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,8 @@ string ObfuscateNameInternal(byte[] hash, RenameMode mode) {
179179
return Utils.EncodeString(hash, letterCharset);
180180
case RenameMode.ASCII:
181181
return Utils.EncodeString(hash, asciiCharset);
182+
case RenameMode.Reflection:
183+
return Utils.EncodeString(hash, reflectionCharset);
182184
case RenameMode.Decodable:
183185
IncrementNameId();
184186
return "_" + Utils.EncodeString(hash, alphaNumCharset);
@@ -311,6 +313,8 @@ public void MarkHelper(IDnlibDef def, IMarkerService marker, ConfuserComponent p
311313
.Except(new[] { '.' })
312314
.ToArray();
313315

316+
static readonly char[] reflectionCharset = asciiCharset.Except(new[] { ' ', '[', ']' }).ToArray();
317+
314318
static readonly char[] letterCharset = Enumerable.Range(0, 26)
315319
.SelectMany(ord => new[] { (char)('a' + ord), (char)('A' + ord) })
316320
.ToArray();

Confuser.Renamer/RenameMode.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,14 @@ namespace Confuser.Renamer {
44
public enum RenameMode {
55
Empty = 0x0,
66
Unicode = 0x1,
7+
// ReSharper disable once InconsistentNaming
78
ASCII = 0x2,
8-
Letters = 0x3,
9+
/// <summary>
10+
/// This the the rename mode with the largest set of possible characters,
11+
/// that is still save for reflection.
12+
/// </summary>
13+
Reflection = 0x3,
14+
Letters = 0x4,
915

1016
Decodable = 0x10,
1117
Sequential = 0x11,

0 commit comments

Comments
 (0)