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;
		}
Пример #3
0
 public ProxyCallFixer(ModuleDefinition module, ISimpleDeobfuscator simpleDeobfuscator)
     : base(module)
 {
     this.memberReferences = new List<MemberReference>(module.GetMemberReferences());
     this.simpleDeobfuscator = simpleDeobfuscator;
 }
Пример #4
0
 public ProxyDelegateFinderBase(ModuleDefinition module)
 {
     this.module = module;
     this.memberReferences = new List<MemberReference>(module.GetMemberReferences());
 }