示例#1
0
        public void StartMobTweeting(object objemailpass)
        {
            try
            {
                string emailData = (string)objemailpass;

                string[] arr = Regex.Split(emailData, ":");
                string email = string.Empty;
                string pass = string.Empty;
                string mobileagent = string.Empty;
                string authenticity_token = string.Empty;
                string Tweet = string.Empty;

                if (arr.Length == 2)
                {
                    email = arr[0];
                    pass = arr[1];
                }
                else
                {
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ " + emailData + " Not In Correct Format ]");
                    return;
                }

                if (CountMobAgent >= lstMobUserAgent.Count)
                {
                    CountMobAgent = 0;
                }
                mobileagent = lstMobUserAgent[CountMobAgent];
                CountMobAgent++;

                GlobusHttpHelper HttpHelper = new GlobusHttpHelper();
                //Login
                string pageFirst = HttpHelper.getHtmlfromUrlMobile(new Uri("https://mobile.twitter.com/session/new"), "https://mobile.twitter.com/signup", "", mobileagent);

                try
                {
                    int startindex = pageFirst.IndexOf("authenticity_token");
                    string start = pageFirst.Substring(startindex);
                    int endindex = start.IndexOf("\" />");
                    string end = start.Substring(0, endindex).Replace("authenticity_token\" type=\"hidden\" value=\"", "");
                    authenticity_token = end;
                }
                catch (Exception ex)
                {
                    Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> StartMobTweeting() --> Authenticity token --> " + ex.Message, Globals.Path_ScrapeUsersErroLog);
                }

                string postdata = "authenticity_token=" + authenticity_token + "&username="******"&password="******"&commit=Sign+in";
                string LoginFirst = HttpHelper.postFormDataMobileData(new Uri("https://mobile.twitter.com/session"), postdata, "https://mobile.twitter.com/session/new", "", "", "", "", mobileagent);

                if (LoginFirst.Contains("/session/destroy") && LoginFirst.Contains("/settings"))
                {
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ Logged In With Account :" + email + " ]");
                    if (queMobTweet.Count > 0)
                    {

                    }
                    else
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ No Tweets For Account : " + email + " ]");
                        return;
                    }
                }
                else
                {
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ Cannot Login With Account :" + email + " ]");
                }
            }
            catch (Exception ex)
            {
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> StartMobTweeting() --> " + ex.Message, Globals.Path_ScrapeUsersErroLog);
            }
        }
示例#2
0
        public void AccountCreator(object objemailpass)
        {
            try
            {
                string emailData = (string)objemailpass;

                //emailData = "[email protected]:vAq8YqxSad";

                string[] arr = Regex.Split(emailData, ":");
                string email = string.Empty;
                string pass = string.Empty;

                string proxyAddress = string.Empty;
                string proxyPort = string.Empty;
                string proxyUsername = string.Empty;
                string proxyPassword = string.Empty;

                string username = string.Empty;
                string name = string.Empty;
                string mobileagent = string.Empty;
                string capcthaResponse = "";
                string capcthaChallenge = "";
                string Tweet = "";
                string URl = "";
                string Location = "";
                string Bio = "";

                string proxyItem = string.Empty;

                GlobusHttpHelper HttpHelper = new GlobusHttpHelper();

                lock (lockr_queueRunningProxies_Mobile)
                {
                    if (qRunningProxy_Mobile.Count > 0)
                    {
                        try
                        {
                            proxyItem = qRunningProxy_Mobile.Dequeue();
                        }
                        catch
                        {
                        }
                    }
                    else
                    {
                        CheckAndFillProxyInQueue();
                    }
                }

                if (arr.Length == 2)
                {
                    email = arr[0];
                    pass = arr[1];
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ Starting Email : " + email + " ]");
                }
                if (arr.Length == 1)
                {
                    return;
                }
                if (arr.Length == 2)
                {
                    email = emailData.Split(':')[0].Replace("\0", "");
                    pass = emailData.Split(':')[1].Replace("\0", "");
                }
                else if (arr.Length == 4)
                {
                    email = emailData.Split(':')[0].Replace("\0", "");
                    pass = emailData.Split(':')[1].Replace("\0", "");
                    proxyAddress = emailData.Split(':')[2];
                    proxyPort = emailData.Split(':')[3];
                }
                else if (arr.Length == 6)
                {
                    email = emailData.Split(':')[0].Replace("\0", "");
                    pass = emailData.Split(':')[1].Replace("\0", "");
                    proxyAddress = emailData.Split(':')[2];
                    proxyPort = emailData.Split(':')[3];
                    proxyUsername = emailData.Split(':')[4];
                    proxyPassword = emailData.Split(':')[5];
                }
                else
                {
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ " + emailData + " Not In correct Format ]");
                    return;
                }

                if (!string.IsNullOrEmpty(proxyItem))
                {
                    try
                    {
                        proxyAddress = proxyItem.Split(':')[0];
                        proxyPort = proxyItem.Split(':')[1];
                        proxyUsername = proxyItem.Split(':')[2];
                        proxyPassword = proxyItem.Split(':')[3];
                    }
                    catch
                    {
                    }
                }

                if (CountUsername >= lstMobUsername.Count)
                {
                    CountUsername = 0;
                }
                username = lstMobUsername[CountUsername];
                CountUsername++;

                if (CountName >= lstMobName.Count)
                {
                    CountName = 0;
                }
                name = lstMobName[CountName];
                CountName++;

                if (CountMobAgent >= lstMobUserAgent.Count)
                {
                    CountMobAgent = 0;
                }
                mobileagent = lstMobUserAgent[CountMobAgent];
                CountMobAgent++;

                if (CountTweet >= lstMobTweet.Count)
                {
                    CountTweet = 0;
                }
                Tweet = lstMobTweet[CountTweet];
                CountTweet++;

                if (CountUrl >= lstMobUrl.Count)
                {
                    CountUrl = 0;
                }
                URl = lstMobUrl[CountUrl];
                CountUrl++;

                if (CountLocation >= lstMobLocation.Count)
                {
                    CountUrl = 0;
                }
                Location = lstMobLocation[CountLocation];
                CountUrl++;

                if (CountBio >= lstMobBio.Count)
                {
                    CountBio = 0;
                }
                Bio = lstMobBio[CountBio];
                CountBio++;

                int tempCount_usernameCheckLoop = 0;
            usernameCheckLoop:
                string url1 = "https://twitter.com/users/email_available?suggest=1&username=&full_name=&email=" + Uri.EscapeDataString(email.Replace(" ", "")) + "&suggest_on_username=true&context=signup";
                string EmailCheck = HttpHelper.getHtmlfromUrlProxy(new Uri(url1), proxyAddress, proxyPort, proxyUsername, proxyPassword, "https://twitter.com/signup,", "", mobileagent);
                string Usernamecheck = HttpHelper.getHtmlfromUrlProxy(new Uri("https://twitter.com/users/username_available?suggest=1&username="******"&full_name=" + name + "&email=&suggest_on_username=true&context=signup"), proxyAddress, proxyPort, proxyUsername, proxyPassword, "https://twitter.com/signup,", "", mobileagent);

                if (EmailCheck.Contains("Email has already been taken. An email can only be used on one Twitter account at a time"))
                {
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ Email : " + email + " has already been taken. An email can only be used on one Twitter account at a time ]");
                    return;
                }
                else if (Usernamecheck.Contains("Username has already been taken"))
                {
                    //Created = false;
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ Username : "******" has already been taken ]");
                    if (username.Count() > 12)
                    {
                        username = username.Remove(8); //Removes the extra characters
                    }

                    if (username.Count() > 15)
                    {
                        username = username.Remove(13); //Removes the extra characters
                    }

                    username = username + RandomStringGenerator.RandomStringAndNumber(5);

                    tempCount_usernameCheckLoop++;
                    if (tempCount_usernameCheckLoop < 5)
                    {
                        goto usernameCheckLoop;
                    }
                }
                else if (EmailCheck.Contains("You cannot have a blank email address"))
                {
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ You cannot have a blank email address ]");
                }
                AddToMobileLogs("[ " + DateTime.Now + " ] => [ Redirecting To Twitter Signup ]");
                string url = "https://mobile.twitter.com/signup";

                string pagesource1 = HttpHelper.getHtmlfromUrlProxy(new Uri(url), proxyAddress, proxyPort, proxyUsername, proxyPassword, "https://twitter.com/signup,", "", mobileagent);

                string authenticity_token = string.Empty;
                AddToMobileLogs("[ " + DateTime.Now + " ] => [ Getting Captcha Chanllenge ]");

                capcthaChallenge = GetCaptchaMobSrc(capcthaChallenge, pagesource1);

                int tempCaptchaCounter = 0;

            getCaptcha:

                AddToMobileLogs("[ " + DateTime.Now + " ] => [ Getting Authenticity Token ]");

                try
                {
                    int startindex = pagesource1.IndexOf("authenticity_token");
                    string start = pagesource1.Substring(startindex);
                    int endindex = start.IndexOf("\" />");
                    string end = start.Substring(0, endindex).Replace("authenticity_token\" type=\"hidden\" value=\"", "");
                    authenticity_token = end;
                }
                catch (Exception ex)
                {
                    Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> AccountCreator() --> Authenticity token --> " + ex.Message, Globals.Path_ScrapeUsersErroLog);
                }

                #region Captcha Solving

                AddToMobileLogs("[ " + DateTime.Now + " ] => [ Download Captcha Image ]");

                WebClient webclient = new WebClient();
                byte[] args = webclient.DownloadData(capcthaChallenge);
                string[] arr1 = new string[] { BaseLib.Globals.DBCUsername, BaseLib.Globals.DBCPassword, "" };
                AddToMobileLogs("[ " + DateTime.Now + " ] => [ Getting Captcha Response ]");

                DeathByCaptcha.Client clnt = null;
                DeathByCaptcha.Captcha captcha = null;

                capcthaResponse = DecodeDBC(arr1, args, out clnt, out captcha);

                if (string.IsNullOrEmpty(capcthaResponse))
                {
                    Thread.Sleep(1000);
                    capcthaResponse = DecodeDBC(arr1, args, out clnt, out captcha);

                    if (string.IsNullOrEmpty(capcthaResponse))
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ Empty Captcha Returned from Decaptcher ]");

                        // Report an incorrectly solved CAPTCHA.
                        // Make sure the CAPTCHA was in fact incorrectly solved, do not
                        // just report it at random, or you might be banned as abuser.
                        if (captcha != null)
                        {
                            if (clnt.Report(captcha))
                            {
                                Console.WriteLine("Reported as incorrectly solved");
                            }
                            else
                            {
                                Console.WriteLine("Failed reporting as incorrectly solved");
                            }
                        }
                        else
                        {
                            AddToMobileLogs("[ " + DateTime.Now + " ] => [ Captcha Null ]");
                        }
                    }
                }

                #endregion

                string postdata = "authenticity_token=" + authenticity_token + "&oauth_signup_client%5Bfullname%5D=" + username + "&oauth_signup_client%5Bphone_number%5D=" + email.Split('@')[0].Replace("+", "%2B") + "%40" + email.Split('@')[1] + "&oauth_signup_client%5Bpassword%5D=" + pass + "&captcha_response_field=" + capcthaResponse + "&captcha_method=2&captcha_challenge_field=" + capcthaChallenge.Replace("https://mobile.twitter.com/signup/captcha/", "").Replace(".gif", "") + "&commit=Sign+up+for+Twitter";
                string pagfinal = HttpHelper.postFormDataMobileData(new Uri("https://mobile.twitter.com/signup"), postdata, "https://mobile.twitter.com/signup", "", "", "", "", mobileagent);
                string pagfinal2 = HttpHelper.getHtmlfromUrlMobile(new Uri("http://mobile.twitter.com/home"), "https://mobile.twitter.com/signup", "", mobileagent);
                #region Tweet

                bool temp_IsCreated = false;

                if (pagfinal.Contains("signout") || pagfinal.Contains("https://mobile.twitter.com/signup/screen_name") || pagfinal.Contains("/signup/screen_name") || !pagfinal2.Contains("http://mobile.twitter.com/welcome/interests"))
                {
                    if (pagfinal.Contains("https://mobile.twitter.com/signup/screen_name"))
                    {
                        string screenName = GlobusHttpHelper.GetParamValue(pagfinal, "settings[screen_name]");
                        string secondPostData = "authenticity_token=" + authenticity_token + "&suggestion=0%3A&settings%5Bscreen_name%5D=" + screenName + "&commit=Continue";
                        string res_secondPost = HttpHelper.postFormDataMobileData(new Uri("https://mobile.twitter.com/signup/screen_name "), secondPostData, "https://mobile.twitter.com/signup/screen_name", "", "", "", "", mobileagent);
                    }

                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ Account Created : " + email + " ]");
                    GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + pass + ":" + proxyAddress + ":" + proxyPort + ":" + proxyUsername + ":" + proxyPassword, BaseLib.Globals.Path_MobEmailCreator);
                    int counter_profile = 0;
                profilling:
                    string pageProfileData = HttpHelper.getHtmlfromUrl(new Uri("https://mobile.twitter.com/settings/profile"), "https://mobile.twitter.com/account", "");
                    string postdataProfile = "authenticity_token=" + authenticity_token + "&settings%5Bfullname%5D=" + name + "&settings%5Burl%5D=" + url + "&settings%5Blocation%5D=" + Location + "&settings%5Bdescription%5D=" + Bio + "&commit=Save";
                    string postProfileData = HttpHelper.postFormDataMobileData(new Uri("https://mobile.twitter.com/settings/profile"), postdataProfile, "https://mobile.twitter.com/settings/profile", "", "", "", "", mobileagent);
                    pageProfileData = HttpHelper.getHtmlfromUrl(new Uri("https://mobile.twitter.com/settings/profile"), "https://mobile.twitter.com/account", "");
                    string PostUrl = GlobusHttpHelper.GetParamValue(pageProfileData, "settings[url]");
                    if (!string.IsNullOrEmpty(PostUrl))
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ Account :" + email + " Profiled ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + pass, BaseLib.Globals.Path_MobEmailProfiled);
                    }
                    else
                    {
                        if (counter_profile <= 5)
                        {
                            Thread.Sleep(5000);
                            AddToMobileLogs("[ " + DateTime.Now + " ] => [ Trying Profiling Once Again for Account : " + email + " ]");
                            counter_profile++;
                            goto profilling;

                        }
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ Account :" + email + " Not Profiled ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + pass, BaseLib.Globals.Path_NotMobEmailProfiled);
                    }

                    string pagesource3 = HttpHelper.getHtmlfromUrlProxy(new Uri("https://mobile.twitter.com/compose/tweet"), proxyAddress, proxyPort, proxyUsername, proxyPassword, "https://mobile.twitter.com/compose/tweet", "", mobileagent);
                    string TweetPost = "authenticity_token=" + authenticity_token + "&tweet%5Btext%5D=" + Uri.EscapeDataString(Tweet) + "&commit=Tweet";
                    string pagesourcepost = HttpHelper.postFormDataMobileData(new Uri("https://mobile.twitter.com/"), TweetPost, "https://mobile.twitter.com/compose/tweet", "", "", "", "", mobileagent);
                    string secondpagesourcepost = HttpHelper.getHtmlfromUrl(new Uri("https://mobile.twitter.com/"), "https://mobile.twitter.com/", "", mobileagent);

                    if (pagesourcepost.Contains("Tweet sent!") || secondpagesourcepost.Contains("Tweet sent!") || pagesourcepost.Contains(Tweet))
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ Tweeted " + Tweet + " From " + email + " ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + Tweet, BaseLib.Globals.Path_MobTweeted);
                    }
                    else if (secondpagesourcepost.Contains("Whoops! You already tweeted that") || pagesourcepost.Contains("Whoops! You already tweeted that…"))
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ You Already Tweeted " + Tweet + " From " + email + " ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + Tweet, BaseLib.Globals.Path_NotMobEmailTweeted);
                    }
                    else
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ Not Tweeted " + Tweet + " From " + email + " ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + Tweet, BaseLib.Globals.Path_NotMobEmailTweeted);
                    }
                    temp_IsCreated = true;
                    return;
                }
                else if (pagfinal.Contains("Redirecting to: <a href=\"https://mobile.twitter.com/signup/screen_name"))
                {
                    Thread.Sleep(300);
                    pagfinal = HttpHelper.getHtmlfromUrlProxy(new Uri("https://mobile.twitter.com/signup/screen_name"), proxyAddress, proxyPort, proxyUsername, proxyPassword, "https://mobile.twitter.com/compose/tweet", "", mobileagent);
                }
                else if (pagfinal.Contains("captcha invalid-field invalid-captcha-response-field")) //wrong captcha
                {
                    tempCaptchaCounter++;
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ Wrong Captcha : " + email + " ]");

                    // Report an incorrectly solved CAPTCHA.
                    // Make sure the CAPTCHA was in fact incorrectly solved, do not
                    // just report it at random, or you might be banned as abuser.
                    if (captcha != null)
                    {
                        if (clnt.Report(captcha))
                        {
                            Console.WriteLine("Reported as incorrectly solved");
                        }
                        else
                        {
                            Console.WriteLine("Failed reporting as incorrectly solved");
                        }
                    }

                    if (tempCaptchaCounter <= 3)
                    {
                        capcthaChallenge = GetCaptchaMobSrc("", pagfinal);
                        goto getCaptcha;
                    }
                }

                if (pagfinal.Contains("settings[screen_name]") && !temp_IsCreated)
                {
                    string screenName = GlobusHttpHelper.GetParamValue(pagfinal, "settings[screen_name]");

                    string secondPostData = "authenticity_token=" + authenticity_token + "&suggestion=0%3A&settings%5Bscreen_name%5D=" + screenName + "&commit=Continue";
                    string res_secondPost = HttpHelper.postFormDataMobileData(new Uri("https://mobile.twitter.com/signup/screen_name "), secondPostData, "https://mobile.twitter.com/signup/screen_name", "", "", "", "", mobileagent);

                    #region Profile and tweet

                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ Account Created : " + email + " ]");
                    GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + pass + ":" + proxyAddress + ":" + proxyPort + ":" + proxyUsername + ":" + proxyPassword, BaseLib.Globals.Path_MobEmailCreator);
                    int counter_profile = 0;
                profilling:
                    string pageProfileData = HttpHelper.getHtmlfromUrl(new Uri("https://mobile.twitter.com/settings/profile"), "https://mobile.twitter.com/account", "");
                    string postdataProfile = "authenticity_token=" + authenticity_token + "&settings%5Bfullname%5D=" + name + "&settings%5Burl%5D=" + url + "&settings%5Blocation%5D=" + Location + "&settings%5Bdescription%5D=" + Bio + "&commit=Save";
                    string postProfileData = HttpHelper.postFormDataMobileData(new Uri("https://mobile.twitter.com/settings/profile"), postdataProfile, "https://mobile.twitter.com/settings/profile", "", "", "", "", mobileagent);
                    pageProfileData = HttpHelper.getHtmlfromUrl(new Uri("https://mobile.twitter.com/settings/profile"), "https://mobile.twitter.com/account", "");
                    string PostUrl = GlobusHttpHelper.GetParamValue(pageProfileData, "settings[url]");
                    if (!string.IsNullOrEmpty(PostUrl))
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ Account :" + email + " Profiled ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + pass, BaseLib.Globals.Path_MobEmailProfiled);
                    }
                    else
                    {
                        if (counter_profile <= 5)
                        {
                            Thread.Sleep(5000);
                            AddToMobileLogs("[ " + DateTime.Now + " ] => [ Trying Profiling Once Again for Account : " + email + " ]");
                            counter_profile++;
                            goto profilling;

                        }

                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ Account :" + email + " Not Profiled ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + pass, BaseLib.Globals.Path_NotMobEmailProfiled);
                    }

                    string pagesource3 = HttpHelper.getHtmlfromUrlProxy(new Uri("https://mobile.twitter.com/compose/tweet"), proxyAddress, proxyPort, proxyUsername, proxyPassword, "https://mobile.twitter.com/compose/tweet", "", mobileagent);
                    string TweetPost = "authenticity_token=" + authenticity_token + "&tweet%5Btext%5D=" + Uri.EscapeDataString(Tweet) + "&commit=Tweet";
                    string pagesourcepost = HttpHelper.postFormDataMobileData(new Uri("https://mobile.twitter.com/"), TweetPost, "https://mobile.twitter.com/compose/tweet", "", "", "", "", mobileagent);
                    string secondpagesourcepost = HttpHelper.getHtmlfromUrl(new Uri("https://mobile.twitter.com/"), "https://mobile.twitter.com/", "", mobileagent);
                    if (pagesourcepost.Contains("Tweet sent!") || secondpagesourcepost.Contains("Tweet sent!") || pagesourcepost.Contains(Tweet))
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ Tweeted " + Tweet + " From " + email + " ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + Tweet, BaseLib.Globals.Path_MobTweeted);
                    }
                    else if (secondpagesourcepost.Contains("Whoops! You already tweeted that") || pagesourcepost.Contains("Whoops! You already tweeted that"))
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ You Already Tweeted " + Tweet + " From " + email + " ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + Tweet, BaseLib.Globals.Path_NotMobEmailTweeted);
                    }
                    else
                    {
                        AddToMobileLogs("[ " + DateTime.Now + " ] => [ Not Tweeted " + Tweet + " From " + email + " ]");
                        GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + Tweet, BaseLib.Globals.Path_NotMobEmailTweeted);
                    }
                    #endregion
                }
                else
                {
                    AddToMobileLogs("[ " + DateTime.Now + " ] => [ Account Not Created : " + email + " ]");
                    GlobusFileHelper.AppendStringToTextfileNewLine(email + ":" + pass, BaseLib.Globals.Path_NotMobEmailCreator);
                }
                #endregion
            }
            catch (Exception ex)
            {
                if (ex.Message == "Unable to connect to remote server")
                {
                    //AddToMobileLogs(ex.Message);
                }
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> AccountCreator() --> " + ex.Message, Globals.Path_ScrapeUsersErroLog);
            }
            finally
            {
                counter++;
                if (AccountCounter == counter)
                {
                    MessageBox.Show("Finished Account Creation");
                }
            }
        }