простейший спамер вконтакте

21 апреля 2024  👁 12651

Сегодня мы будем писать простейший спамер для Вконтакта.

 
Нам понадобится Delphi. В принципе, подойдет любая версия. Я буду писать на DEPHI XE 7. У кого нет — качайте!
 
Как будет работать наш спамер? Заходим во вконтакт, пишем в строке поиска слово «футболки» и нажимаем enter. Попали в новости, где куча рекламы интернет-магазинов с одеждой. У меня это выглядит так:
 


 
Любые сообщения, как на страницах пользователей, так и на страницах групп, попадают в общий список новостей и упорядочиваются лишь по дате сообщения, никаких ранжирований нету. Даже посты в пустых группах попадают сюда.
 
Как вы, возможно, догадались сейчас мы напишем небольшую программку, в учебных целях, которая будет раз в минуту добавлять пост в нашу группу и удалять предыдущий.
 
 

ШАГ 1. Создаем новый проект в DELPHI

 
Создали проект, делаем вот такую простую форму:
 


 
 

ШАГ 2. Получаем access_token

 
Для работы с vk api нам понадобится ключ доступа приложения. Создаем глобальную строковую переменную token:string.
Пишем процедуру получения ключа:
 
[code language=»delphi»]
procedure TForm1.GetToken;
var
temp: string;
response:string;
begin

try
response:=idhttp1.Get(‘https://oauth.vk.com/token?grant_type=password&client_id=2274003&scope=wall&client_secret=hHbZxrka2uZ6jB1inYsH&username=’+LoginEdit.Text+’&password=’+PassEdit.text);
except
logmemo.Lines.Add(‘ошибка соединения при получении access token’);

end;

if Pos(‘token’, response)<>0 then begin
temp:=copy(response, pos(‘access_token":"’, response), pos(‘","expires_in’, response)-3);
delete(temp, 1, 15);
token:=temp;
logmemo.Lines.Add(‘token получен’);
end
else
begin
logmemo.Lines.Add(‘token не получен’);
end;

end;
[/code]
 
Не забываем связать компоненты IDHTTP и SSLIOHandlerSocketOpenSSL. Также, для новичков добавлю, что для HTTPS соединения необходима пара DLL библиотек, ssleay32.dll и libeay32. Скачайте их и добавьте в папку с программой.
 
 

ШАГ 3. Изучаем VK api

У вконтакта есть удобный API с подробной документацией. Нам необходимо три метода: добавление поста, удаление поста и id последнего поста на стене.
-wall.get
-wall.post
-wall.delete
 
 

ШАГ 4. Пишем главный цикл

 
Цикл у нас будет вызываться таймером. Поставим интервал таймера в одну минуту. По-умолчанию таймер выключен. При нажатии на кнопку запуска включаем таймер.
[code language=»delphi»]
procedure TForm1.StartButtonClick(Sender: TObject);
begin
if length(token)>0 then timer1.Enabled:=true; // Если token не пустой, то запускаем таймер
end;
[/code]
 
Код обработки события таймера:
 
[code language=»delphi»]
procedure TForm1.Timer1Timer(Sender: TObject);
var
response:string;
id:string;
pos1:integer;
Info: TStringList;
begin
// Получаем ID последнего поста
try
response:=idhttp1.Get(‘https://api.vk.com/method/wall.get?owner_id=-‘+GroupEdit.text+’&access_token=’+token);
except
logmemo.Lines.Add(‘Ошибка получения ID поста’);
end;
id:=pars(response,’"id":’,’,"’);
sleep(500);
// Удаляем последний пост
if length(id)>0 then
begin
try
response:=idhttp1.Get(‘https://api.vk.com/method/wall.delete?owner_id=-‘+GroupEdit.text+’&post_id=’+id+’&access_token=’+token);
except
logmemo.Lines.Add(‘Ошибка удаления поста’);
end;
end;
sleep(500);
// Создаем новый пост
try
response:=»;
Info := TStringList.Create;
Info.Add(‘owner_id=-‘+GroupEdit.text);
Info.Add(‘from_group=1’);
Info.Add(‘access_token=’+token);
Info.Add(‘message=’+messagememo.text);
Info.Add(‘attachments=’+attachedit.text);
response:=idhttp1.post(‘https://api.vk.com/method/wall.post’,info);
except
logmemo.Lines.Add(‘Ошибка создания поста’);
end;
if pos(‘post_id’,response)>0 then logmemo.Lines.Add(‘Пост добавлен!’) else logmemo.Lines.Add(‘Пост не добавлен!’);
Info.Free;
end;
[/code]
 
 
Готово!
 

Тестируем нашу программу

 

Запускаем

 

 
Вот так выглядит наш автоматически сделанный пост

 

 
И вот наш пост уже в поиске по ключевому слову «футболки»!

 

 
 
P.S.
Конечно, это учебный пример, и его надо немного доделать для полноценной работы. В сутки в группу можно добавлять 50 постов, поэтому надо научить программу при достижении лимита постов автоматически создавать новую копию группы.
 
Помните, что вместо фоток можно делать wiki-страницы — будет выглядеть точно также как фотография, но при нажатии на нее откроется Ваша ссылка.
 
Таким вот незамысловатым образом много людей зарабатывают деньги 🙂 поэкспериментируйте с запросами в поиске. Особенно на порнотематику. Хитрые делают фотографии в виде видеоролика, по нажатию на который пользователь отправляется на партнерку.
 
Исходник программы лежит здесь
 
Автор: Pavel Germanika