Пишем ICQ спаммер Итак, для написания этой проги нам понадобятся:
Delphi 7
Компонент TICQClient
Для начала поставим себе компонент. Делается это очень просто. Загружаем Delphi, выбираем пункт меню Component > Install Component, появится диалоговое окно
Нажимаем кнопку обзор и указываем файл ICQClient.pas и жмем OK. После этого в появившемся окне жмем кнопку Compile. Все компонент у нас поставлен. Теперь перейдем к логике программы, а логика такова:
1. Коннектимся к ICQ Серверу через прокси
2. Получаем новый UIN
3. Спаммим
4. Убиваем UIN
5. Дисконнектимся
Для начала спроектируем интерфейс проги. Создаем новый проект File > New > Application и сохраняем в какую – нибудь папку. Нам понадобятся 5 GroupBox’ ов,
7 Edit ‘ ов, 2 поля Memo, 1 ToolBar c 4 кнопками, 8 надписей (Label), 1 кнопкy, и компоненты ImageList, OpenDialog, ICQClient. Вот примерное расположение, которое у меня получилось
Кликаем 2 раза на кнопке Connect и пишем следушие:
procedure TForm1.ToolButton1Click(Sender: TObject);
var
w : word; //Описываем переменные
i:integer;
begin
randomize; //Включаем генератор случайных чисел
m:=random(100); // Приравниваем m cслучайное число из 100 (оно будет в качестве пароля)
i:=strtoint(Edit4.Text); // Приравниваем переменной порт ICQ сервера
w:=i; // Приравневаем значение w
ICQClient1.ProxyHost:=Edit1.Text; // Заполняем адрес прокси сервера
Memo3.Lines.Add('Proxy host ' + Edit1.Text); // Добавляем
ICQClient1.ProxyPort:=StrToInt(Edit2.text);
Memo3.Lines.Add('Proxy port ' + Edit2.Text);
ICQClient1.ICQServer:=Edit3.Text;
Memo3.Lines.Add('ICQ host ' + Edit3.Text);
ICQClient1.ICQPort:=w;
Memo3.Lines.Add('ICQ Port ' + Edit4.Text);
ICQClient1.RegisterNewUIN(inttostr(m)); // Регистрируем новый UIN
end;
Выделяем объект ICQClient и переходим в инспекторе обьктов на события этого объекта. Ищем событие OnNewUINRegistered оно возникает, когда мы зарегистрировали новый UIN.
procedure TForm1.ICQClient1NewUINRegistered(Sender: TObject; UIN: String);
begin
Memo3.Lines.Add('You UIN ' + UIN + 'Password' + inttostr(m)) ;// Вносим в поле UIN и пароль
Edit5.Text:=UIN;
Edit6.Text:=inttostr(m);
ToolButton2.Enabled:=true; // Делаем активными кнопки
ToolButton2.Enabled:=true;
end;
Теперь нужно событие OnNewUINRefused возникающие когда нам не дадут UIN
procedure TForm1.ICQClient1NewUINRefused(Sender: TObject);
begin
Memo3.Lines.Add('You not registred UIN'); // Нам не дают UIN
end;
На сервер мы законектились, теперь нужно загрузить в поле Memo1 тех, кого мы будем спаммить
procedure TForm1.Button1Click(Sender: TObject);
var
R :Integer; // Описываем переменную
begin
R:=0; // Приравниваем ее 0
if openDialog1.Execute = true then // Открываем диалог
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName); // Загружаем из файла UINы
While Memo1.Lines[R] <> '' do // Считаем строки в поле и выводим их в надпись Label
begin
R:= R + 1;
end;
Label7.Caption:=IntToStr®;
end;
end;
Теперь нам нужно разослать спам и убить UIN
procedure TForm1.ToolButton2Click(Sender: TObject);
var
I : Integer; // Описываем переменные
e: word;
begin
T:= False;
For i:= 0 to Strtoint(label7.Caption) do // Организуем цикл
begin
If T = True Then Если нажата кнопка стоп
begin
Break; Обрываем цикл
Close; Завершаем работу
end;
e:=strtoint(Edit7.text);
ICQClient1.SendMessage(e, Edit7.Text); // Рассылаем
end;
ICQClient1.UnregisterUIN(IntToStr(m)); // Убиваем UIN
ICQClient1.Disconnect; // Дисконнектимся
end;
Теперь нужно написать код на кнопку Стоп и Выход
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
T:=True;
end;
и соответсвенно на выход
procedure TForm1.ToolButton4Click(Sender: TObject);
begin
Close;
end;
Осталось описать 2 глобальные переменные
var
Form1: TForm1;
M: Integer;
T: Boolean;