PDA

Просмотр полной версии : Пишем спамер для vkontakte.ru


JeDaSe
23.06.2009, 17:02
Это только пример написания
Кидаем на форму 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
ой, так он программист?
это ты его спросишь, а топик кагбэ намекает, что он программист

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
У мну не компилиться :(

:D
это html скрипт!

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

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


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

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

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


P.S. Ругайте меня завтра с 9 до 12, хотя некоторые точно будут :D
приятель чтобы посмотреть твой исходник я должен пароль на архив перебирать? накой хрен спрашивается это нужно

Gaus
11.07.2009, 14:27
ТС, нубы хеш не сбрутят, а не нубам это нах не нужно, имхо!
upd: хотя там и брутить то не надо,в базах есть энто)

mazaxaka
11.07.2009, 16:56
Правельно тс зделал пусть школота брутит) пас за2 сек нашол , щас поглядим что в архиве

Тс пас из хеша не подходит на архив!!

Gaus
11.07.2009, 19:51
Правельно тс зделал пусть школота брутит) пас за2 сек нашол , щас поглядим что в архиве

Тс пас из хеша не подходит на архив!!
Тебе разшифрованный хэш ничего не напоминает? ;)
З.Ы. ТС написал,что длинна пасса 7 символов

mazaxaka
11.07.2009, 20:16
ВЫпендрется решил? вот пас из хеша chr(68) , 7 символов!!! и он неподходит

DezMond™
11.07.2009, 21:08
chr(68)=[символ]
И запиши этот символ 7 раз!

mazaxaka
11.07.2009, 22:07
2DezMond™ ,не понял о чем ты

DezMond™
11.07.2009, 22:10
Короче на парься)) chr(68)=D
Пас будет DDDDDDD

AquaKlaster
12.07.2009, 00:48
Короче на парься)) chr(68)=D
Пас будет DDDDDDD
ну вот зах нужно было расказывать пасс?

mazaxaka
12.07.2009, 01:06
Мда еслиб Тс норм пас ещебзделал ,я вобще не пойму откуда там взялся DDDDDDD , если Тс нече не упомянул об етом

mr. ZetRikS
19.07.2009, 02:03
Мда еслиб Тс норм пас ещебзделал ,я вобще не пойму откуда там взялся DDDDDDD , если Тс нече не упомянул об етом

Вспоминай коды клавишь. или юзай программки :)

Жаль что тема как то попритихла...


Кстати... на счёт запроса... перехватил отправку сообщения, пробовал править и отправлять и что то как то не оч то отправилось... вернее не отправилось вообе нифига... мб потому как не менял remixsid
вернее менял но одставлял левое значение по кол-ву символов...

А так, теме оч даже интересна... может у кого есть какие нить наработки? :)

ex3me
19.07.2009, 02:55
Сорри за оффтоп, но говорю правду:

ТС, нубы хеш не сбрутят, а не нубам это нах не нужно, имхо!
Глаголишь истину

mazaxaka, ааааааа Гром, ты жжошь, отвечаю. Незнаю почему, но имхо - твои посты на баш!

Правельно тс зделал пусть школота брутит) пас за2 сек нашол , щас поглядим что в архиве

Тс пас из хеша не подходит на архив!!

ВЫпендрется решил? вот пас из хеша chr(68) , 7 символов!!! и он неподходит

Мда еслиб Тс норм пас ещебзделал ,я вобще не пойму откуда там взялся DDDDDDD , если Тс нече не упомянул об етом
Вот школота и забрутила :D Ты давай лучше иди учи сначала рус.яз, ато на посты тошно смотреть.

Поржал от души. Надо будет чаще посещать раздел :D

Ru}{eeZ
21.07.2009, 01:21
...ато...
раздельно пишется

Goodwin_
23.07.2009, 15:21
гагагагагагагагагагагагаг

Flegmatique
23.07.2009, 15:27
пыщь!!!!!!111

ex3me
26.07.2009, 03:45
Ru}{eeZ, умник бле... Ты тоже иди русский учить: в каком контексте как пишется "а|то". А вообще - это рекурсия, т.е. фонетическое слияние произносимых слов, тобишь тяжело ответить пишется ли "а|то" вместе или раздельно...

Если брать как два союза - тогда раздельно... А если не как союз...

"Он был дураком а то, что он был умным - еще не было доказано"
"1: Завали хлебало! 2: Ато что будет?"

Тобишь во втором примере - конкретно нельзя сказать, что "а|то" надо было писать раздельно...

З.Ы. Лучших примеров придумать не смог - см.время поста

З.Ы.Ы. А может кто-нить ДЕЙСТВИТЕЛЬНО знающий русский язык подробно написать, когда "нахyй" пишется слитно, а когда раздельно?

GhostOnline
21.08.2009, 19:18
ТС скажи код для удаления из куков точки перед доменом в каком месте надо оставлять?
Я так понял куки менеджер сначала не надо подключать?