Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }