Школоло / Говнокод #13692 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
type
    Potok = class(TThread)
  private
    FAcc : string;
    FPas : string;
    Ip   : string;
    Port : string;
    Rez  : Integer;
  protected
    procedure Execute; override;
  public
    procedure Sync;
    constructor Create(CreateSuspended: Boolean);
  end;

var
  Form2: TForm2;
  Accounts, Proxy:Tstringlist;
  Thread, Acc:integer;
  Work:boolean;
  CS:TcriticalSection;
  GoodFile, BadFile: textfile;
  tp:integer;
  Balance, Login, Email:string;
  UserAg: array [0..20] of string=(
    'Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1',
    'Mozilla/5.0 (Windows; U; Win9x; en; Stable) Gecko/20020911 Beonex/0.8.1-stable',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.2.153.1 Safari/525.19',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.4/Megaupload 3.0',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.452) Gecko/20041027 Mnenhy/0.6.0.104',
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iRider 2.21.1108; FDM)',
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MathPlayer2.0)',
    'Mozilla/5.0 (Windows; U;XMPP Tiscali Communicator v.10.0.1; Windows NT 5.1; it; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3',
    'Mozilla/5.0 (X11; U; Linux 2.4.2-2 i586; en-US; m18) Gecko/20010131 Netscape6/6.01',
    'Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.7.6) Gecko/20050405 Epiphany/1.6.1 (Ubuntu) (Ubuntu package 1.0.2)',
    'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010801',
    'Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
    'Mozilla/5.0 (Linux; U; Android 2.2; en-us; DROID2 GLOBAL Build/S273) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
    'Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; E10i Build/2.0.2.A.0.24) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17',
    'Mozilla/5.0 (Linux; U; Android 2.2; nl-nl; Desire_A8181 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;)',
    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox)',
    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)',
    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; InfoPath.2; InfoPath.3)',
    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; winfx; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Zune 2.0)',
    'Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; MSIECrawler)'
  );

implementation

{$R *.dfm}

Бля, говорят же, что нельзя пить и курить марихуану перед зачатием детей, иначе родятся наркоманами.

Запостил: Stertor Stertor, (Updated )

Комментарии (30) RSS

  • procedure Potok.Execute;
    var
     CurAcc:integer;
     data:Tstringlist;
     HTTP: TIdHTTP;
     SSL : TIdSSLIOHandlerSocketOpenSSL;
     SOCKS: TIdSocksInfo;                         
     HTML:string;
     cook:TIdCookieManager;
    
      begin
      while Work do
      begin
       CS.Enter;
       Inc(Acc);
        if Acc<Accounts.Count then CurAcc:=Acc else Work:=false;
       inc(tp);
        if tp=Proxy.Count-1 then tp:=0;
       CS.Leave;
       if Work then
        begin
         HTTP := TIdHTTP.Create;
         http.HandleRedirects:=false;
         http.AllowCookies:=true;
         SSL:=TIdSSLIOHandlerSocketOpenSSL.Create;
         ssl.Port:=433;
         http.ReadTimeout:=Form2.sSpinEdit2.Value*1000;


    О существовании ThreadVar автор видимо не знал.
    Ответить
      • Но если уж ты задал вопрос, то, пожалуй, я исполню роль Кэп-а.
        Начнем с самого первого, что встречается в коде - описания класса
        потока:
        Автор не указал глобальные переменные, предпочитая создавать их
        непосредственно во время исполнения:
        procedure Potok.Execute;
        var
         CurAcc:integer;
         data:Tstringlist;
         HTTP: TIdHTTP;
         SSL : TIdSSLIOHandlerSocketOpenSSL;
         SOCKS: TIdSocksInfo;                          // почти все это нужно 
        было описать в самом классе
         HTML:string;
         cook:TIdCookieManager;
        Ответить
        • Далее, автор обращается к критической секции - лочит ее, чтобы потоки не
          набили друг другу морду, и меняет значение глобальной переменной:
          while Work do
            begin
             CS.Enter;
             Inc(Acc);
              if Acc<Accounts.Count then CurAcc:=Acc else Work:=false;
             inc(tp);
              if tp=Proxy.Count-1 then tp:=0;
             CS.Leave;

          На мой взгляд можно было бы обойтись ThreadVar; это место настолько
          коряво написано, что просто злость берет.

          Теперь прошу зажать нос:
          while Work do
            begin
             CS.Enter;
             Inc(Acc);
              if Acc<Accounts.Count then CurAcc:=Acc else Work:=false;
             inc(tp);
              if tp=Proxy.Count-1 then tp:=0;
             CS.Leave;
             if Work then
              begin
               HTTP := TIdHTTP.Create;
               http.HandleRedirects:=false;
               http.AllowCookies:=true;
               SSL:=TIdSSLIOHandlerSocketOpenSSL.Create;
               ssl.Port:=433;
               http.ReadTimeout:=Form2.sSpinEdit2.Value*1000;

          Тут суровое Школоло чтя традиции своего племени в предпочитает в цикле
          переписывать IDhttp и другие объекты (хотя намного разумнее было бы один
          раз создать объект и обращаться к нему многократно), причем об
          освобождении их даже и не думает: что вы, зачем?!

          Далее идут глобальные переменные:
          var
            Form2: TForm2;
            Accounts, Proxy:Tstringlist;
            Thread, Acc:integer;
            Work:boolean;
            CS:TcriticalSection;
            GoodFile, BadFile: textfile;
            tp:integer;
            Balance, Login, Email:string;
            UserAg: array [0..20] of string=(
              'Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010726 
          Netscape6/6.1',
              'Mozilla/5.0 (Windows; U; Win9x; en; Stable) Gecko/20020911 
          Beonex/0.8.1-stable',
              'Mozilla/5.0 (Windows; U; Windows NT 5....

          Школоло, резвясь, наваяло массу ненужных глобальных переменных и
          гигантский массив, кстати, никому не нужный - очевидно, пытался менять
          "железо" чтобы не забанили. Использование глобальных переменных не
          рекомендуется. Точнее, рекомендуется не пихать туда ничего лишнего.

          Суровый вывод: прогу в топку, автора на костер.
          Ответить
          • Если это утилита из одного модуля, я не вижу никакой разницы, куда пихать локальные переменные - в класс потока или в его процедуру Execute.

            Аналогично - куда еще пихать остальные переменные - заводить для них отдельный класс что ли? Не вижу ничего плохого в том, чтобы сделать их всех глобальными - потом всегда можно перенести в отдельный "синглтон", если утилита разростется.

            Огромный массив - ну, где-то же он должен быть. Или считывать из текстового файла, или объявить в коде. Городить отдельный модуль или класс чтобы вернуть одну из двадцати строк - такое же говно.

            Так что в выложенном коде особого говна не вижу. В первом комментарии - да, какой-то сомнительный код, но он все равно не полон, логика работы неизвестна, без пояснений ничего не угадать.
            Ответить
            • Ну Вы, батенька, даете!.. Я с Вами спорить не буду, но не думайте, что мне нечего сказать.
              Ответить
      • Бля, Вистефан, ты пизди, но не запиздывайся. А то ведь я и ответить могу!
        Ответить
        • Собака лает - ветер уносит.
          Тебя, озалупленного, сдует отсюда в день знаний ещё на год.
          Ответить
          • Пизди-пизди, золотая рыбка!
            D
            p/s/
            Я уже давно закончил школу и институт.
            Ответить
            • > Я уже давно закончил школу и институт.
              Ты хоть осознаёшь, что если это правда, то ты ещё бОльший опущенец, чем можно подумать. Ну ладно там школота - ну бывает, ну перебесится. А так - тебя даже жалко...
              Ответить
                • и все? а я думал ты скажешь
                  "а у меня жалищщще до самого неба!"
                  Ответить
                  • >>"а у меня жалищщще до самого неба!"
                    к сожалению (или к счастью) нет. Но никто не жаловался, честное пионерское. Приезжай ко мне. Я тебе сказку расскажу.
                    Ответить
                          • Ты так ничего и не понял, сынок? Читай на один, два три, четыре, пять, шесть, семь, восемь, девять топиков выше.
                            Ответить
                              • Забавно читать твои сообщения. Ты сейчас проверяешь меня на вшивость - не гандон ли я, и стоит ли со мной стоит дружить.
                                )
                                Ответить
                                • Да. Хочешь быть моим другом? отправь смс со словом "друг" на номер 8888
                                  Ответить
                                  • Что-то с трудом верится, что ты зарегал четырехзначный номер за огромные деньги, всего навсего для того, что я отправил тебе смс.
                                    Ответить
                                      • Бля если я один раз не ответил, значит это СЛИШКОМ ТОЛСТЫЙ ТРОЛЛИНГ. Пробуй другие комбинации букв.
                                        Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8