bool checkInitMethod(MethodDefinition method) { var type = method.DeclaringType; if (type.NestedTypes.Count != 3) { return(false); } if (DotNetUtils.getPInvokeMethod(type, "kernel32", "MoveFileEx") == null) { return(false); } var resolveHandler = EfUtils.getResolveMethod(method); if (resolveHandler == null) { return(false); } if (!DeobUtils.hasInteger(resolveHandler, ',') || !DeobUtils.hasInteger(resolveHandler, '|')) { return(false); } initMethod = method; resolverType = type; handlerMethod = resolveHandler; return(true); }
bool checkInitMethod(MethodDefinition method) { if (method == null || !method.IsStatic || method.Body == null) { return(false); } if (!DotNetUtils.isMethod(method, "System.Void", "()")) { return(false); } var type = method.DeclaringType; if (type.NestedTypes.Count != 1) { return(false); } if (DotNetUtils.getField(type, "System.Reflection.Assembly") == null) { return(false); } var resolveHandler = EfUtils.getResolveMethod(method); if (resolveHandler == null) { return(false); } initMethod = method; resolverType = type; handlerMethod = resolveHandler; return(true); }