static bool HasReferenceToStringConcatObject (ModuleDefinition module) { foreach (MemberReference mr in module.GetMemberReferences ()) { if (mr.IsNamed ("System", "String", "Concat")) { MethodReference method = (mr as MethodReference); // catch both System.Object and System.Object[] if (!method.HasParameters) continue; TypeReference ptype = method.Parameters [0].ParameterType; switch (ptype.Name) { case "Object": case "Object[]": return (ptype.Namespace == "System"); } } } return false; }
static bool HasReferenceToStringConcatObject (ModuleDefinition module) { foreach (MemberReference mr in module.GetMemberReferences ()) { if (IsStringConcat (mr)) { MethodReference method = (mr as MethodReference); // catch both System.Object and System.Object[] if (!method.HasParameters) continue; switch (method.Parameters [0].ParameterType.FullName) { case "System.Object": case "System.Object[]": return true; } } } return false; }
public ProxyCallFixer(ModuleDefinition module, ISimpleDeobfuscator simpleDeobfuscator) : base(module) { this.memberReferences = new List<MemberReference>(module.GetMemberReferences()); this.simpleDeobfuscator = simpleDeobfuscator; }
public ProxyDelegateFinderBase(ModuleDefinition module) { this.module = module; this.memberReferences = new List<MemberReference>(module.GetMemberReferences()); }