Это только пример написания Кидаем на форму TIdHTTP и TIdCookieManager, остальное по желанию Далее берём какой-нибудь http анализатор к примеру HTTPAnalyzer Смотрим что отправляет браузер при входе и что нам отправляет сервер в ответ Серверу мы отправляем пароль и мыло Code: Var Res:string; Data:TStringList; Begin Data:=TStringList.Create; Data.Add('op=a_login_attempt'); Data.Add('[email protected]'); //Логин 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 то пароль или логин не верный и мы выходим(либо берём другой логин и пароль) При посылке там произошёл редирект, значит делаем так Code: http.HandleRedirects:=true; http.AllowCookies:=true; И сервер нам вернул куки, но они почему то не записались в менеджер(злые дяди поставили точку пред доменом) в сети много вариантов обхода этого, но самый простой: Code: 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(он находиться в форме), значит выдираем его от туда Code: 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); Ну теперь можно отправлять Code: 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 Code: 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;
харе в грязь в гонять 1) Это только пример написания! 2) Если вы такие не джуниор программисты выложите исходник нормального спамера или у вас проблеммы? действительно, стоило ли писать что-то, не доведя дело до конца ? да ты прав у меня времени не хватило дописать хотя у меня есть исходник(многопоточность, прокси+чекер прокси), но сырой. Хотел выложить, но подожду может супер-мега крутые прогеры круче выложут
А мы сделаем так Вот исходник(рабочий 100%, неуспеваю доделать) http://dump.ru/file/2978196 Пароль на архив 7 знаков Hash:741796C1B1AA1A6A2A56232E44876EDF (2 скобки цифры и буквы) P.S. Ругайте меня завтра с 9 до 12, хотя некоторые точно будут
приятель чтобы посмотреть твой исходник я должен пароль на архив перебирать? накой хрен спрашивается это нужно
ТС, нубы хеш не сбрутят, а не нубам это нах не нужно, имхо! upd: хотя там и брутить то не надо,в базах есть энто)
Правельно тс зделал пусть школота брутит) пас за2 сек нашол , щас поглядим что в архиве Тс пас из хеша не подходит на архив!!
Мда еслиб Тс норм пас ещебзделал ,я вобще не пойму откуда там взялся DDDDDDD , если Тс нече не упомянул об етом