Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Пишем спамер для vkontakte.ru (https://forum.antichat.xyz/showthread.php?t=126603)

JeDaSe 23.06.2009 17:02

Пишем спамер для vkontakte.ru
 
Это только пример написания
Кидаем на форму TIdHTTP и TIdCookieManager, остальное по желанию
Далее берём какой-нибудь http анализатор к примеру HTTPAnalyzer
Смотрим что отправляет браузер при входе и что нам отправляет сервер в ответ
Серверу мы отправляем пароль и мыло
Код:

Var
 Res:string;
 Data:TStringList;
Begin
Data:=TStringList.Create;
Data.Add('op=a_login_attempt');
Data.Add('email=admin@mail.ru'); //Логин
Data.Add('pass=123456');        //Пароль
res:=http[n].Post('http://vkontakte.ru/login.php',Data);
data.Clear;
if res='failed' then begin
  memo1.lines.add('Не верный логин/пароль');
  exit;
end;

Заполняем логин и пароль и отправляем пост запрос на сервер, если сервер возращает failed то пароль или логин не верный и мы выходим(либо берём другой логин и пароль)
При посылке там произошёл редирект, значит делаем так
Код:

http.HandleRedirects:=true;
http.AllowCookies:=true;

И сервер нам вернул куки, но они почему то не записались в менеджер(злые дяди поставили точку пред доменом) в сети много вариантов обхода этого, но самый простой:
Код:

cook:=http.Response.RawHeaders.CommaText;
repeat
delete(cook,1,Pos('Set-Cookie:',cook)+11);
Cookie.AddCookie(copy(cook,0,Pos(';',cook)-1),'vkontakte.ru');
until Pos('Set-Cookie:',cook)=0;

Ура мы вошли!
Теперь надо отправить сообщение, опять смотрим через анадизатор что там браузер передаёт и что принимает
Всё понятно кроме некого параметра chas(он находиться в форме), значит выдираем его от туда
Код:


Chas:=http.GET('http://vkontakte.ru/mail.php?act=write&to='+Id);
delete(Chas,1,Pos('name="chas"',Chas)+18);
Chas:=copy(Chas,0,Pos('"',Chas)-1);

Ну теперь можно отправлять
Код:

      Chas:=http.GET('http://vkontakte.ru/mail.php?act=write&to='+id]);
      delete(Chas,1,Pos('name="chas"',Chas)+18);
      Chas:=copy(Chas,0,Pos('"',Chas)-1);
      Mes.add('act=sent');
      Mes.add('ajax=1');
      Mes.add('misc=');
      Mes.add('secure=3ae6');
      Mes.add('chas='+Chas);
      Mes.add('photo=0');
      Mes.add('to_id='+id);
      Mes.add('to_reply=0');
      Mes.add('toFriends=');
      Mes.add('title='+ titleText);
      Mes.add('message='+messageText);
      res:=RussianToUnicode(Http.Post('http://vkontakte.ru/mail.php', Mes));
      if Pos('отправле',res)<>0 then //Result:='Отправленно';
      Mes.Clear;

Тут ещё есть функция RussianToUnicode
Код:

function RussianToUnicode(S:string): String;
var
 Wrd:Word;
 pW,pR:Pword;
 len:integer;
begin
  pW:=@s[1];
  len:=length(S);
  setLength(Result,len);
  pR:=@Result[1];
  while Len<>0 do begin
    Wrd:=pW^;
    case Wrd of
      $C0..$DF,$E0..$FF:pr^:=Wrd+$0350;
      else pR^:=WRD;
    end;
    inc(pW);
    inc(pR);
    dec(Len);
  end;
end;


neprovad 23.06.2009 17:42

действительно, стоило ли писать что-то, не доведя дело до конца ?

root_sashok 23.06.2009 17:46

Цитата:

Сообщение от GreenBear
ой, так он программист?

это ты его спросишь, а топик кагбэ намекает, что он программист

tecca555 23.06.2009 18:41

ТС дописывай спамер до рабочего вида, и начинай продавать его или на шару выкладывай всем желающим

JeDaSe 23.06.2009 18:48

харе в грязь в гонять
1) Это только пример написания!
2) Если вы такие не джуниор программисты выложите исходник нормального спамера или у вас проблеммы?

действительно, стоило ли писать что-то, не доведя дело до конца ?
да ты прав у меня времени не хватило дописать
хотя у меня есть исходник(многопоточность, прокси+чекер прокси), но сырой. Хотел выложить, но подожду может супер-мега крутые прогеры круче выложут

Gar|k 23.06.2009 18:53

JeDaSe лучше не выкладывай в паблик, а то понабежит быдло толпа...

GreenBear 23.06.2009 21:57

Fata1ex, ну да. только я пока не нашел ничего прикольного нового.

.ATK 23.06.2009 22:27

У мну не компилиться :(

:D

LEE_ROY 24.06.2009 01:30

Цитата:

Сообщение от .ATK
У мну не компилиться :(

:D

это html скрипт!

JeDaSe 28.06.2009 09:47

Цитата:

Сообщение от Gar|k
JeDaSe лучше не выкладывай в паблик, а то понабежит быдло толпа...

А мы сделаем так
Вот исходник(рабочий 100%, неуспеваю доделать)
http://dump.ru/file/2978196

Пароль на архив 7 знаков
Hash:741796C1B1AA1A6A2A56232E44876EDF (2 скобки цифры и буквы)


P.S. Ругайте меня завтра с 9 до 12, хотя некоторые точно будут :D


Время: 06:12