Icq Spamer
| |
freez | Дата: Среда, 23.06.2010, 16:05 | Сообщение # 1 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Пишу Спамер почти все работает , столкнулся с такой проблеммой Когда запускаю рассылку сообщения отправляются номеров на 10, а дальше все виснет наглухо, может поможет кто нить. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XPMan, StdCtrls, ICQClient, ExtCtrls, Buttons, IdBaseComponent, IdAntiFreezeBase, IdAntiFreeze; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Button1: TButton; Label3: TLabel; GroupBox1: TGroupBox; XPManifest1: TXPManifest; ICQClient1: TICQClient; Button3: TButton; Edit5: TEdit; Label6: TLabel; GroupBox2: TGroupBox; GroupBox3: TGroupBox; Memo1: TMemo; Memo2: TMemo; Memo3: TMemo; Timer1: TTimer; Edit3: TEdit; IdAntiFreeze1: TIdAntiFreeze; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ICQClient1Login(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button3Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Edit2.Font.Name:='Wingdings'; Edit2.PasswordChar:='l'; Memo1.Lines.Clear; Memo2.Lines.Clear; Memo3.Lines.Clear; Button3.Enabled:=False; memo2.Enabled:=False; edit5.Enabled:=False; timer1.Enabled:=False; timer1.Interval:=20000; //Интервал секунды end; procedure TForm1.Button1Click(Sender: TObject); begin if Button1.Tag= 0 then begin if (Edit1.Text='') or (Edit2.Text='') or (StrToInt(Edit1.Text)<10000) or (StrToInt (Edit1.Text)>1000000000) then begin MessageBox(0, 'Пожалуйста введите верно UIN и Пароль', 'Невозможно подключиться!', MB_ICONWARNING); Exit; end; ICQClient1.UIN:=StrToInt(Edit1.Text); ICQClient1.Password:=Edit2.Text; // Логинимся к серверу ICQClient1.ConvertToPlaintext:=true; ICQClient1.Login(); Edit1.Enabled:=False; Edit2.Enabled:=False; Timer1.Enabled:=True; Memo1.Lines.Add('Соединение с сервером...'); Button1.Tag:= 1; Button1.Caption:='Отключиться'; //Меняем название кнопки end else begin Button1.Tag:= 0; Button1.Caption:='Подключиься'; ICQClient1.Disconnect; Edit1.Enabled:=true; Edit2.Enabled:=true; Label3.Caption:=('Режим OffLine'); Label3.Font.Color:=clRed; Memo1.Lines.Add('Соединение с сервером оборвано.'); Button3.Enabled:=False; memo2.Enabled:=False; edit5.Enabled:=False; timer1.Enabled:=False; end; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin ICQClient1.Disconnect; Edit1.Enabled:=true; Edit2.Enabled:=true; Form1.Caption:=('Статус: OffLine'); Label3.Caption:=('Режим OffLine'); Label3.Font.Color:=clRed; Memo1.Lines.Add('Соединение с сервером оборвано.'); end; procedure TForm1.ICQClient1Login(Sender: TObject); begin Label3.Caption:=('Режим OnLine'); Label3.Font.Color:=clGreen; if ICQClient1.LoggedIn then begin Memo1.Lines.Add('Соединение с сервером установлено.'); Button3.Enabled:=True; memo2.Enabled:=True; edit5.Enabled:=True; Timer1.Enabled:=False; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin If not ICQClient1.LoggedIn then MessageDlg('Соединение с сервером не установлено!',mtInformation,[mbOk],0); Timer1.Enabled:=False; Memo1.Lines.Add('Не удалось соединиться с сервером.'); end; procedure TForm1.Button3Click(Sender: TObject); var i:integer; begin for i:=strtoint(edit5.Text) to strtoint(edit3.Text)do begin icqclient1.SendMessage(i, ''+ memo2.Text +'' ); //отправляем сообщение Memo1.Lines.Add('Сообщение отправленно'); Memo3.Lines.Add(Memo2.Text); sleep(500); end; end; end.
|
|
| |
Jaw | Дата: Среда, 23.06.2010, 16:55 | Сообщение # 2 |
Участник
Зарегистрирован: 09.03.2009
Группа: Пользователи
Сообщений: 70
Статус: Offline
| Дальше отправка не идет т.к. макс. возможно отправить ~15 сообщений с одного номера - за короткий промежуток времени, ставь больше слип или отправляй со списка номеров. Так и непонял зачем проверка логина идет по таймеру: событие ICQClient1Login происходит при успешной авторизации.
|
|
| |
freez | Дата: Среда, 23.06.2010, 17:17 | Сообщение # 3 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Memo1.Lines.Add('Сообщение отправленно'); Memo3.Lines.Add(Memo2.Text); sleep(500); имеешь в виду этот sleep(500); его увеличивал чуть ли не до минуты программа стала работать медленней результат тот-же, да и вот еще что после 10 отправлений (примерно ) в сеть больше ничего не передается хотя программа показывает что сообщения отправляются насчет отправки за короткий промежуток времени это фигя вбиваю один uin и очень быстро тыркаю кнопку отправить сообщения приходят моментально хоть 15 хоть 115 насчет таймера попробовал его уменьшить до 2 секунд вылетело сообщение невозможно подключиться. ну это в принципе ерунда
Сообщение отредактировал freez - Среда, 23.06.2010, 17:34 |
|
| |
dolphin | Дата: Среда, 23.06.2010, 17:35 | Сообщение # 4 |
Администратор
Сообщений: 906
Статус: Offline
| Используй прокси и логоинься сразу номеров с 50 и всё будет ок!
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
freez | Дата: Среда, 23.06.2010, 17:43 | Сообщение # 5 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| 50 номеров + по 10 сообщений с каждого уина итого 500 . дальще зависнет Да плюс еще прокси найти свежие надо Не это для меня не вариант. С этим кодом что можно сделать пусть будет медленным но гарантировано отправлять?
|
|
| |
dolphin | Дата: Среда, 23.06.2010, 17:50 | Сообщение # 6 |
Администратор
Сообщений: 906
Статус: Offline
| Ставь слип после 1о отправленных сообщений минут на 5, и между каждым 3-5 секунд, думаю так будет работать попробуй ещё с нескольких номеров, это просто Доступно только для пользователей
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
freez | Дата: Среда, 23.06.2010, 17:57 | Сообщение # 7 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Исходник
|
|
| |
freez | Дата: Среда, 23.06.2010, 18:07 | Сообщение # 8 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Quote (dolphin) Ставь слип после 1о отправленных сообщений минут на 5, и между каждым 3-5 секунд, думаю так будет работать попробуй ещё с нескольких номеров, это просто За Delphi берусь только от безысходности (когда надо а взять негде) Короче во всем неразобрался Если можно поправь исходник изначально он был простой аськой я повыкидывал все ненужное
Сообщение отредактировал freez - Среда, 23.06.2010, 18:10 |
|
| |
Jaw | Дата: Среда, 23.06.2010, 19:38 | Сообщение # 9 |
Участник
Зарегистрирован: 09.03.2009
Группа: Пользователи
Сообщений: 70
Статус: Offline
| Пробуй так: Code unit Unit1; interface
uses Windows, Messages, SysUtils, Variants, Classes,Controls, Forms, Dialogs, StdCtrls, ICQClient, ExtCtrls,ICQWorks;
type TForm1 = class(TForm) ICQClient1: TICQClient; Edit1: TEdit; Button1: TButton; Memo1: TMemo; Timer1: TTimer; Edit2: TEdit; Edit3: TEdit; Button2: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure ICQClient1Login(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ICQClient1LogOff(Sender: TObject); procedure ICQClient1Error(Sender: TObject; ErrorType: TErrorType; ErrorMsg: String); private { Private declarations } public { Public declarations } end;
var Form1: TForm1; source:TStringList; tmp,uin,pass:string; implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin source:=TStringList.Create; source.LoadFromFile('s.txt'); //в файл s.txt ложим уины с паролями такого вида: //uin1;pass //uin2;pass //uin3;pass //и т.д. end;
procedure TForm1.Button1Click(Sender: TObject); begin timer1.Enabled:=true; end;
procedure TForm1.ICQClient1Login(Sender: TObject); var a:integer; begin source.Delete(0); Memo1.Lines.Add(uin+' в сети'); for a:=0 to strtoint(edit2.text) do begin icqclient1.SendMessage(StrToInt(edit1.text), edit3.text); end; ICQClient1.LogOff; end;
procedure TForm1.Timer1Timer(Sender: TObject); var i:integer; begin if source.Count>0 then begin tmp:=source.Strings[0]; uin:=copy(tmp,1,pos(';',tmp)-1); pass:=copy(tmp,pos(';',tmp)+1,length(tmp)); ICQClient1.Password:=pass; ICQClient1.UIN:=StrToInt(uin); ICQClient1.Login; end else source.LoadFromFile('s.txt'); //Memo1.Lines.Add(uin+'Соединение с сервером оборвано.'); end;
procedure TForm1.Button2Click(Sender: TObject); begin timer1.Enabled:=false; end;
procedure TForm1.ICQClient1LogOff(Sender: TObject); begin Memo1.Lines.Add(uin+' Не в сети'); end;
procedure TForm1.ICQClient1Error(Sender: TObject; ErrorType: TErrorType; ErrorMsg: String); begin Memo1.Lines.Add(uin+' Ошибка при подключении '); source.Delete(0); end;
end. P.S: Перенесите тему в нужный раздел)
Сообщение отредактировал Jaw - Среда, 23.06.2010, 19:40 |
|
| |
freez | Дата: Среда, 23.06.2010, 20:02 | Сообщение # 10 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Hе компилиться может исходник cкинеш
|
|
| |
Jaw | Дата: Среда, 23.06.2010, 21:46 | Сообщение # 11 |
Участник
Зарегистрирован: 09.03.2009
Группа: Пользователи
Сообщений: 70
Статус: Offline
| Пробуй: http://multi-up.com/294353
|
|
| |
freez | Дата: Четверг, 24.06.2010, 14:16 | Сообщение # 12 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Сообщения не приходят, непойму в чем дело отправка вроде идет в логе подключение отключение пишет. а сообщений нет
|
|
| |
freez | Дата: Четверг, 24.06.2010, 21:00 | Сообщение # 13 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Как здесь сделать бесконечный цикл ну или с условием что j:=0 тогда стоп procedure TForm1.Button3Click(Sender: TObject); var j:integer; z:integer; begin j := strtoint(edit5.Text); z:= j-1; begin icqclient1.SendMessage((j), ''+ memo2.Text +'' ); //отправляем сообщение edit5.Text:=inttostr(z); Memo1.Lines.Add('Сообщение отправленно'); Memo3.Lines.Add(Memo2.Text); sleep(200); end; end; попробовал через goto procedure TForm1.Button3Click(Sender: TObject); label m2; var j:integer; z:integer; begin m2: j := strtoint(edit5.Text); z:= j-1; begin icqclient1.SendMessage((j), ''+ memo2.Text +'' ); //отправляем сообщение edit5.Text:=inttostr(z); Memo1.Lines.Add('Сообщение отправленно'); Memo3.Lines.Add(Memo2.Text); sleep(200); goto m2; end; end; цикл конечно получился только вот в edit5 ничего не изменилось .
|
|
| |
Jaw | Дата: Четверг, 24.06.2010, 22:18 | Сообщение # 14 |
Участник
Зарегистрирован: 09.03.2009
Группа: Пользователи
Сообщений: 70
Статус: Offline
| Quote Сообщения не приходят, непойму в чем дело отправка вроде идет в логе подключение отключение пишет. а сообщений нет какой у тебя клиент? Если icq7 или 6.5 то туда обычно недоходит(даже незнаю почему, ф-ции антиспама там вроде нет), если qip то отключи антиспам\флад защиту. В цикле тебе нужно отправлять сообщения от номера скажем к примеру в едите вписываеш номер: 123456 сообщения приходят на 123456, 123455, 123454, 123453 и так далее вниз? var i:integer; begin for i:=strtoint(edit5.Text) DownTo 1 do icqclient1.SendMessage(i, memo2.Text); end; Как то так получается.
|
|
| |
freez | Дата: Пятница, 25.06.2010, 18:32 | Сообщение # 15 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Quote (Jaw) В цикле тебе нужно отправлять сообщения от номера скажем к примеру в едите вписываеш номер: 123456 сообщения приходят на 123456, 123455, 123454, 123453 и так далее вниз? да так как z:= j-1; А как button3 на таймер повесить, ну чтоб через определенное время сама нажималась? нашел такой код на сайте http://www.delphimaster.ru/articles/components_gauge.html установил компонент . добавил в программу а она сама нифига не нажимается unit CountBtn; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TCountBtn = class(TButton) private { Private declarations } FCount: integer; protected { Protected declarations } procedure Click;override; public { Public declarations } procedure ShowCount; published { Published declarations } property Count:integer read FCount write FCount; constructor Create(aowner:Tcomponent); override; end; procedure Register; implementation procedure Register; begin RegisterComponents('Mihan Components', [TCountBtn]); end; constructor TCountBtn.Create(aowner:Tcomponent); begin inherited create(Aowner); end; procedure Tcountbtn.Click; begin inherited click; FCount:=FCount+1; end; procedure TCountBtn.ShowCount; begin Showmessage('По кнопке '+ caption+' вы сделали: '+inttostr(FCount)+' клик(а/ов)'); end; end.
Сообщение отредактировал freez - Пятница, 25.06.2010, 20:49 |
|
| |
Jaw | Дата: Суббота, 26.06.2010, 14:02 | Сообщение # 16 |
Участник
Зарегистрирован: 09.03.2009
Группа: Пользователи
Сообщений: 70
Статус: Offline
| Судя по твоим постам, тебе это еще рано изучать. Quote А как button3 на таймер повесить, ну чтоб через определенное время сама нажималась? Button1.click; Так лучше не делать, код кнопки запихни в процедуру и по таймеру вызывай эту самую процедуру.
|
|
| |
freez | Дата: Суббота, 26.06.2010, 19:07 | Сообщение # 17 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Огромное спасибо Jaw За помощь в том что нужно было сделать Выкладываю исходник того что получилось все работает
|
|
| |
freez | Дата: Четверг, 15.07.2010, 16:54 | Сообщение # 18 |
Частый гость
Зарегистрирован: 09.01.2010
Группа: Пользователи
Сообщений: 30
Статус: Offline
| Еще вопрос, мне нужно узнать информацию об уине Скажите правильно ли я делаю код компилируется а вот в label8 и label9 ничего не отображается Code procedure TForm1.Button2Click(Sender: TObject);
begin icqclient1.RequestInfo(strtoint(edit5.Text)); end; procedure tform1.icqclient1usergeneralinfo(Sender: TObject; UIN, NickName, FirstName, LastName, Email, City, State, Phone, Fax, Street, Cellular, Zip, Country: String; TimeZone: Byte; PublishEmail: Boolean); begin label8.Caption:= nickname; label9.Caption:= email; end; end.
|
|
| |
|