Beispiel #1
0
        bool Find2()
        {
            foreach (var cctor in DeobUtils.GetInitCctors(module, 3))
            {
                foreach (var calledMethod in DotNetUtils.GetCalledMethods(module, cctor))
                {
                    var type = calledMethod.DeclaringType;
                    if (type.IsPublic)
                    {
                        continue;
                    }
                    var fieldTypes = new FieldTypes(type);
                    if (!fieldTypes.All(requiredFields1))
                    {
                        continue;
                    }
                    if (!HasInitializeMethod(type, "_Initialize") && !HasInitializeMethod(type, "_Initialize64"))
                    {
                        continue;
                    }

                    initializeMethod     = calledMethod;
                    postInitializeMethod = FindMethod(type, "System.Void", "PostInitialize", "()");
                    loadMethod           = FindMethod(type, "System.IntPtr", "Load", "()");
                    cliSecureRtType      = type;
                    FindStringDecrypters();
                    return(true);
                }
            }

            return(false);
        }
Beispiel #2
0
 public void Find()
 {
     foreach (var cctor in DeobUtils.GetInitCctors(module, 3))
     {
         if (CheckCctor(cctor))
         {
             return;
         }
     }
 }