Skip to content

Commit cd7906c

Browse files
committed
Changed ObfuscateName to take into account generic parameters when checking map of existing obfuscated names
1 parent 3c9c29d commit cd7906c

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

Confuser.Renamer/NameService.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,9 @@ string MakeGenericName(string name, int? count) {
205205
public string ObfuscateName(string name, RenameMode mode) {
206206
string newName = null;
207207
int? count;
208-
name = ParseGenericName(name, out count);
208+
209+
var fullName = name;
210+
name = ParseGenericName(name, out count);
209211

210212
if (string.IsNullOrEmpty(name))
211213
return string.Empty;
@@ -221,8 +223,8 @@ public string ObfuscateName(string name, RenameMode mode) {
221223
return MakeGenericName(newName, count);
222224
}
223225

224-
if (nameMap1.ContainsKey(name))
225-
return nameMap1[name];
226+
if (nameMap1.ContainsKey(fullName))
227+
return nameMap1[fullName];
226228

227229
byte[] hash = Utils.Xor(Utils.SHA1(Encoding.UTF8.GetBytes(name)), nameSeed);
228230
for (int i = 0; i < 100; i++) {
@@ -233,8 +235,8 @@ public string ObfuscateName(string name, RenameMode mode) {
233235
}
234236

235237
if ((mode & RenameMode.Decodable) != 0) {
236-
nameMap2[newName] = name;
237-
nameMap1[name] = newName;
238+
nameMap2[newName] = fullName;
239+
nameMap1[fullName] = newName;
238240
}
239241

240242
return MakeGenericName(newName, count);

0 commit comments

Comments
 (0)