Use ModuleDefMD.GetAssemblyRef()

This commit is contained in:
de4dot 2012-11-08 11:26:14 +01:00
parent f2f156dc40
commit 472d57ed0f
4 changed files with 6 additions and 28 deletions

View File

@ -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<AssemblyRef> findAssemblyReferences(string asmSimpleName) {
var asmRefs = new List<AssemblyRef>();
var name = new UTF8String(asmSimpleName);
foreach (var asmRef in module.GetAssemblyRefs()) {
if (UTF8String.Equals(asmRef.Name, name))
asmRefs.Add(asmRef);
}
return asmRefs;
}
}
}

View File

@ -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;

View File

@ -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;

2
dot10

@ -1 +1 @@
Subproject commit 7a952cd8b2afd4104ec5efaac20cb98ba0090f9c
Subproject commit da98052a05288943bcb29e813b3c3ba448ae2101