[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. astonilya

    astonilya New Member

    Joined:
    10 Sep 2009
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Как достать пароли с mail.ru агента подскижите плз..
     
  2. JnK

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

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Где, что не понятно?

    PHP:
     var 
      
    tmp,str:string;  // переменная str = строка
    begin 
      str
    :=idhttp1.Get('http://vk.com/');  
    считываем страницу и сохраняем её в строке (str) }
      
    tmp:=copy(str,pos('<title>',str)+7,pos('</title>',str)); 
    {
    в строку Tmp копируется текст между <titleи </title> }
    //  copy  - скопировать часть строки
    // !! delete - удалить часть строки. Работает с VAR переменными.
    //  pos - найти строку (символ) в подстроке
    end
    PHP:
     var 
      
    str:Tstringlist;  // Список (аналог визуальный ListBox)
      
    tmp:string// Строка (временная переменная)
      
    i:integer;  // число (счетчик)
    begin 
      str
    :=Tstringlist.Create(); // создаем список (выделяем память)
      
    str.Text:=idhttp1.Get('http://vk.com/');  // копируем в список текст страницы
      
    for i:=0 to str.count-do  // цикл проходит по всему списку
      
    begin 
        tmp
    :=str.Strings[i] ;  // присваиваем строку из списка во временную, т.к. нельзя работать на прямую коммандой Delete
        
    delete(tmp,1,pos('img',tmp));  // удаляем с 1 симвода, до слова Img (если нет такого слова) то ничего не делает.
        //  copy,delete,pos  - читай выше.
      
    end
      
    str.Free// освобождаем список (память)
    end
     
  3. buchlord

    buchlord New Member

    Joined:
    7 Jan 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    PHP:
    unit Unit1;

    interface

    uses
      Windows
    MessagesSysUtilsVariantsClassesGraphicsControlsForms,
      
    DialogsPngImageListImgListIdHTTPIdBaseComponentIdComponent,
      
    IdTCPConnectionIdTCPClientStdCtrlsExtCtrlsIdCookieManager;

    type
      TForm1 
    = class(TForm)
        
    Image1TImage;
        
    kapTEdit;
        
    Button1TButton;
        
    IdTCPClient1TIdTCPClient;
        
    IdHTTP1TIdHTTP;
        
    PngImageList1TPngImageList;
        
    PngImageCollection1TPngImageCollection;
        
    Button2TButton;
        
    KodTComboBox;
        
    nomerTEdit;
        
    textTEdit;
        
    Label1TLabel;
        
    procedure Button1Click(SenderTObject);
        
    procedure Button2Click(SenderTObject);

      private
        { Private 
    declarations }
      public
        { Public 
    declarations }
      
    end;

    var
      
    Form1TForm1;

    implementation

     
    var public_keyS:string;
    {
    $R *.dfm}

    procedure TForm1.Button1Click(SenderTObject);

    var 
    FS:TFileStream;
    begin
    IdHTTP1
    .Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)';
    S:=IdHTTP1.Get('http://www.sms.tele2.ru/');

    public_key:=Copy(SPos('public_key'S)+3532);

    FS:=TFileStream.Create('captcha.png',FMCreate);

    IdHTTP1.Get('http://www.sms.tele2.ru/get_rni.php?public_key='+public_keyFS);

    FS.Free;

    Image1.Picture.LoadFromFile('captcha.png');
    end;

    procedure TForm1.Button2Click(SenderTObject);
    var 
    Data:TStringList;
    begin
    Data
    :=TStringList.Create;
    Data.Add('do=send');
    Data.Add('smstext='+text.Text);
    Data.Add('phone_cod='+Kod.text);
    Data.Add('number='+nomer.Text);
    Data.Add('sms_text='+text.Text);
    Data.Add('private_key='+kap.Text);
    Data.Add('public_key='+public_key);
    Data.Add('submit.x=0');
    Data.Add('submit.y=0');
    S:=IdHTTP1.Post('http://www.sms.tele2.ru/'Data);
    Data.Free;
    if 
    Pos('<p><b><span style="color: green">Спасибо, Ваше сообщение принято!</span></b></p>'S)<>0 then
    Label1
    .Caption:='ДА :)'
    else
    Label1.Caption:='Нет;)'

    end;

    end.
    Народ я уже все волосы на голове выдрал помогите не отправляет смс !!!!!!!!
    Может всё дело в :
    PHP:
    Data.Add('submit.x=0');
    Data.Add('submit.y=0');
    я незнаю что место 0 ставить??????
     
  4. Vlad3d

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

    Joined:
    18 Jan 2008
    Messages:
    47
    Likes Received:
    54
    Reputations:
    -1
    ты уверен что у тебя паблик кей верно находит?
    попробуй в мемо вывести public_key
     
  5. JnK

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

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Снифер в руки брал?

    PHP:
    Data.Add('submit.x=0');
    Data.Add('submit.y=0');
    Т.к. Кнопка на сайте в виде картинки, то идет авто ориентир х и у, это на случай, если кнопку хотят использовать как карту. (1 кнопка - много путей), в твоем случаи, это роли не играет, но если так хочешь поставь 15, 10

    PHP:
    Data.Add('submit.x=15');
    Data.Add('submit.y=10');
     
  6. iGlass

    iGlass New Member

    Joined:
    14 May 2009
    Messages:
    86
    Likes Received:
    1
    Reputations:
    0
    Всем доброго времени суток!

    Кто нибудь сталкивался с авторизацией на форуме vBulletin?

    Вот такой запрос уходит на авторизацию..

    _http://forum.ru/login.php?vb_login_username=user&vb_login_password_md5=o_O&s&vb_login_password_utf8

    Как пароль в md5 переконвертить? Или всё намного проще?
     
  7. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    PHP:
    procedure TForm1.Button1Click(SenderTObject);
    begin
          WebBrowser1
    .Navigate('http://forum.antichat.ru/index.php?');
    end;

    procedure TForm1.Button2Click(SenderTObject);
    begin
    WebBrowser1
    .OleObject.Document.All.Tags('input').Item(1).Value:='логин'// заполняем форму
    WebBrowser1.OleObject.Document.All.Tags('input').Item(2).Value:='пасс'// заполняем форму
    WebBrowser1.OleObject.Document.All.Tags('input').Item(5).Click(); // нажимаем кнопку
    end;
    только что проверил, авторизовавшись на этом форуме :)
     
  8. iGlass

    iGlass New Member

    Joined:
    14 May 2009
    Messages:
    86
    Likes Received:
    1
    Reputations:
    0
    А мне бы желательно через Indy =)
     
  9. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    ну пришли что ты там наваял, посмотрю...может смогу помочь
     
  10. iGlass

    iGlass New Member

    Joined:
    14 May 2009
    Messages:
    86
    Likes Received:
    1
    Reputations:
    0
    Ещё ничего не ваял.. Но вот строка запроса...

    http://forum.ru/login.php?vb_login_username=user&vb_login_password_md5=o_O&s&vb_login_password_utf8

    о_О = Password Hash...
     
  11. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    iGlass,
    PHP:
    procedure TForm1.Button1Click(SenderTObject);
    var
    Data TStringList;
    PostSendGetSend string;
    begin
      IdHTTP1
    .Request.UserAgent       :=  'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.22 Version/10.51';
      
    IdHTTP1.Request.Referer         :=  'http://forum.antichat.ru/index.php?';
      
    IdHTTP1.Request.Accept          :=  'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1';
      
    IdHTTP1.Request.AcceptLanguage  :=  'ru-RU,ru;q=0.9,en;q=0.8';
      
    IdHTTP1.Request.AcceptCharSet   :=  'iso-8859-1, utf-8, utf-16, *;q=0.1';
      
    IdHTTP1.Request.AcceptEncoding  :=  'deflate, gzip, x-gzip, identity, *;q=0';
      
    IdHTTP1.Request.Connection      :=  'Keep-Alive, TE';
      
    IdHTTP1.Request.ContentType     :=  '';

      
    GetSend := IdHTTP1.Get('http://forum.antichat.ru/index.php?');

      
    Data := TStringList.Create;
      
    Data.Add('vb_login_username='+Edit1.Text);
      
    Data.Add('vb_login_password='+Edit2.Text);
      
    Data.Add('cookieuser=1');
      
    Data.Add('s=');
      
    Data.Add('do=login');
      
    Data.Add('forceredirect=1');
      
    Data.Add('vb_login_md5password=');

      
    PostSend := IdHTTP1.Post('http://forum.antichat.ru/login.php'Data);
    end;
    если смотреть в сниффере когда логинишся на форуме через браузер, то после
    vb_login_md5password=HTTP/1.1 200 OK
    Server: nginx
    Date: Fri, 30 Apr 2010 05:55:47 GMT
    Content-Type: text/html; charset=Windows-1251
    Connection: keep-alive
    ...
    ...

    а в этом примере идет после
    vb_login_md5password=&HTTP/1.1 200 OK
    Server: nginx
    Date: Fri, 30 Apr 2010 05:55:47 GMT
    Content-Type: text/html; charset=Windows-1251
    Connection: keep-alive
    ...
    ...

    хз почему...
     
    1 person likes this.
  12. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    JnK можно текст между <title> </title> например, вывести в memo ?
     
  13. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Навскидку:
    s := IdHttp1.Get('http://www.google.ru');
    Memo1.Lines.Text := Copy(s, pos('<title>', s) + 7, pos('</title>', s) - pos('<title>', s) -7);
     
    #6093 GhostOnline, 30 Apr 2010
    Last edited: 30 Apr 2010
    1 person likes this.
  14. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    Работает :)
    Только как сделать что бы уже записаный в мемо текст не удалялся при записи?
     
  15. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    для этого достаточно изменить несколько букв:
    s := IdHttp1.Get('http://www.google.ru');
    Memo1.Lines.Append(Copy(s, pos('<title>', s) + 7, pos('</title>', s) - pos('<title>', s) -7));
     
  16. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    Что то не парсит...
    код
    Длжен парсить кол-во друзей))
     
  17. buket

    buket New Member

    Joined:
    7 Apr 2007
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    stepashka_ откуда он должен парсить, не вижу запроса на получения списка друзей

    тупанул, если ты со страницы профиля пытаешься получить количество друзей то тег <span> есть до количества друзей, неправильно парсишь

    да и кстати почему ты используешь переменную s если страницу получаешь в переменную uns
     
    #6097 buket, 30 Apr 2010
    Last edited: 30 Apr 2010
  18. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    Memo4.Lines.Append(Copy(s, pos('<span>', s) + 7, pos('</span>', s) - pos('<span>', s) -7));
    у меня в коде это есть
     
  19. buket

    buket New Member

    Joined:
    7 Apr 2007
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    я бы сделал так
    Code:
    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;
    procedure TForm1.Button1Click(Sender: TObject);
    var
    uns, s,log,pass: String;
    i: integer;
    begin
    memo4.lines.add('Старт');
    idhttp1.HandleRedirects := True;
    for i := 0 to memo1.lines.count-1 do
    begin
    idhttp1.HandleRedirects := True;
    log:=copy(memo1.lines[0],1,pos(':',memo1.lines[0])-1);
    pass:=copy(memo1.lines[0],pos(':',memo1.lines[0])+1,20);
    uns:=idhttp1.get('http://login.vk.com/?act=login&email='+log+'&pass='+pass+'&expire=&vk=');
    s:=Copy(uns,Pos('value=',uns)+7,56);
    memo4.lines.add(log + ' Авторизируемся' );
    try
    idhttp1.get('http://vk.com/login.php?op=slogin&redirect=1&expire=0&to=&s='+s);
    uns := idhttp1.Get('http://vk.com/');
    memo1.Lines.Delete(0) ;
    Memo4.Lines.Append(pars('Друзья <span>(', uns,')</span>'));
    memo4.lines.add(log + ' Валидный' );
    memo2.lines.add(log + ':' + pass);
    except
    On E: Exception do begin
    memo4.lines.add(log + ' Невалид' );
    memo3.lines.add(log + ':' + pass);
    memo2.Lines.Delete(memo2.Lines.Count);
    memo1.Lines.Delete(0);
    end;
    
    end;
    end;
    
    IdCookieManager1.AddCookie('remixsid='+s+ '; path=/; ','vk.com');
    IdCookieManager1.AddCookie('remixchk=5; path=/;','vk.com');
    end;
    
    
     
  20. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    При компиляции разные ошибки выдаёт
     
Thread Status:
Not open for further replies.