diff --git a/de4dot.code/deobfuscators/MemberReferenceBuilder.cs b/de4dot.code/deobfuscators/MemberReferenceBuilder.cs index 5a87781b..aaed566e 100644 --- a/de4dot.code/deobfuscators/MemberReferenceBuilder.cs +++ b/de4dot.code/deobfuscators/MemberReferenceBuilder.cs @@ -175,24 +175,10 @@ namespace de4dot.code.deobfuscators { } AssemblyRef findAssemblyReference(string asmSimpleName) { - AssemblyRef asmRef = null; - foreach (var asmRef2 in findAssemblyReferences(asmSimpleName)) { - if (asmRef == null || asmRef.Version == null || (asmRef2.Version != null && asmRef2.Version > asmRef.Version)) - asmRef = asmRef2; - } + var asmRef = module.GetAssemblyRef(asmSimpleName); if (asmRef == null) throw new ApplicationException(string.Format("Could not find assembly {0} in assembly references", asmSimpleName)); return asmRef; } - - List findAssemblyReferences(string asmSimpleName) { - var asmRefs = new List(); - var name = new UTF8String(asmSimpleName); - foreach (var asmRef in module.GetAssemblyRefs()) { - if (UTF8String.Equals(asmRef.Name, name)) - asmRefs.Add(asmRef); - } - return asmRefs; - } } } diff --git a/de4dot.code/resources/ResourceDataCreator.cs b/de4dot.code/resources/ResourceDataCreator.cs index 1c58d898..dd3da07d 100644 --- a/de4dot.code/resources/ResourceDataCreator.cs +++ b/de4dot.code/resources/ResourceDataCreator.cs @@ -211,11 +211,9 @@ namespace de4dot.code.resources { string tryGetRealAssemblyName(string assemblyName) { var simpleName = Utils.getAssemblySimpleName(assemblyName); - var name = new UTF8String(simpleName); - foreach (var asmRef in module.GetAssemblyRefs()) { - if (asmRef.Name == name) - return asmRef.FullName; - } + var asmRef = module.GetAssemblyRef(simpleName); + if (asmRef != null) + return asmRef.FullName; var asm = TheAssemblyResolver.Instance.Resolve(new AssemblyNameInfo(simpleName), module); return asm == null ? null : asm.FullName; diff --git a/de4dot.code/resources/ResourceWriter.cs b/de4dot.code/resources/ResourceWriter.cs index 56274369..ab418d88 100644 --- a/de4dot.code/resources/ResourceWriter.cs +++ b/de4dot.code/resources/ResourceWriter.cs @@ -138,13 +138,7 @@ namespace de4dot.code.resources { } string getMscorlibFullname() { - AssemblyRef mscorlibRef = null; - foreach (var asmRef in module.GetAssemblyRefs()) { - if (asmRef.Name != "mscorlib") - continue; - if (mscorlibRef == null || mscorlibRef.Version == null || (asmRef.Version != null && asmRef.Version >= mscorlibRef.Version)) - mscorlibRef = asmRef; - } + var mscorlibRef = module.GetAssemblyRef("mscorlib"); if (mscorlibRef != null) return mscorlibRef.FullName; diff --git a/dot10 b/dot10 index 7a952cd8..da98052a 160000 --- a/dot10 +++ b/dot10 @@ -1 +1 @@ -Subproject commit 7a952cd8b2afd4104ec5efaac20cb98ba0090f9c +Subproject commit da98052a05288943bcb29e813b3c3ba448ae2101