Hacker | Offline Дата: Воскресенье, 22.04.2012, 16:35 | Сообщение # 1 |
|
Группа: Администратор
Сообщений: 366
Репутация: off
|
| Code unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XPMan, StdCtrls, ExtCtrls, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, JPEG, StrUtils, IdMessage, IdMessageClient, IdPOP3;
type TForm1 = class(TForm) Button1: TButton; GroupBox1: TGroupBox; Edit1: TEdit; GroupBox2: TGroupBox; Image1: TImage; Edit2: TLabeledEdit; Button2: TButton; GroupBox3: TGroupBox; IdAntiFreeze1: TIdAntiFreeze; Timer1: TTimer; HTTP: TIdHTTP; Timer2: TTimer; IdPOP31: TIdPOP3; IdMessage1: TIdMessage; Memo2: TMemo; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Timer2Timer(Sender: TObject); procedure Activat(Mail,Pass:String); procedure Log(s:String); private { Private declarations } public { Public declarations } end;
var Form1: TForm1; Capcha,mail,pass,karmaSyncKey,gnm:String; mem:TMemoryStream; TS:TStringList; myFile:TextFile; implementation
{$R *.dfm}
procedure TForm1.Log(s:String); begin Memo2.Lines.Add('('+TimeToStr(Time)+') '+s); end;
procedure TForm1.Button1Click(Sender: TObject); var buf:String; begin Button1.Enabled:=False; Buf:=http.Get('http://www.icq.com/join/ru'); Capcha:=Copy(buf,pos('class="captcha_image"',buf)+65,Length(buf)); Delete(Capcha,pos('"',Capcha),length(Capcha)); karmaSyncKey:=Copy(buf,pos('karmaSyncKey',buf)+21,Length(buf)); karmaSyncKey:=Copy(karmaSyncKey,1,pos('"',karmaSyncKey)-1); gnm:=Copy(buf,pos('name="gnm"',buf)+18,length(buf)); gnm:=Copy(gnm,1,pos('"',gnm)-1); http.Get('http://www.icq.com/utils/captcha/gnm/'+capcha,mem); mem.Position:=0; image1.Picture.Graphic:=TJpegImage.Create; image1.Picture.Graphic.LoadFromStream(mem); Edit2.SetFocus; Button1.Enabled:=true; end;
procedure TForm1.FormCreate(Sender: TObject); var Patch:String; begin mem:=TMemoryStream.Create; TS:=TStringList.Create; Patch:=ExtractFilePath(Application.ExeName); If FileExists(Patch+'UINs.txt')=false then Memo2.Lines.SaveToFile(Patch+'UINs.txt'); AssignFile(myFile,Patch+'UINs.txt'); SystemParametersInfo(SPI_SETBEEP,0,nil,SPIF_SENDWININICHANGE); end;
procedure TForm1.Button2Click(Sender: TObject); var s:string; begin mail:=Copy(Edit1.Text,1,pos(';',Edit1.Text)-1); Pass:=Copy(Edit1.Text,pos(';',Edit1.Text)+1,Length(Edit1.Text)); if mail='' then exit; if pass='' then exit; if Edit2.Text='' then exit; Button2.Enabled:=false; TS.Clear; TS.Add('karmaSyncKey='+karmaSyncKey); TS.Add('first_name=Alexey'); TS.Add('last_name=Putin'); TS.Add('email='+mail); TS.Add('password='+Pass); TS.Add('retype_password='+Pass); TS.Add('birthday_month=9'); TS.Add('birthday_day=6'); TS.Add('birthday_year=1984'); TS.Add('gender=1'); TS.Add('captcha='+Edit2.Text); TS.Add('gnm='+gnm);//тут кстати можно применить TStrings Сократив тем самым код s:=Utf8ToAnsi(http.Post('http://www.icq.com/join/ru',ts)); http.Disconnect; Edit2.Clear; if pos('Почти готово!',s)>0 then begin Log('Регистрационная информация отправлена на Email'); Log('Жду '+IntToStr(Timer1.Interval div 1000)+' секунд'); Timer1.Enabled:=true; end; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin timer1.Enabled:=False; Log('Проверяю почту'); Refresh; Activat(Mail,Pass); end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then Button2.Click; end;
procedure TForm1.Timer2Timer(Sender: TObject); begin Timer2.Interval:=1000; GroupBox3.Caption:='Status - '+TimeToStr(Time); end;
procedure TForm1.Activat(Mail,Pass:String); var s:String; begin TS.Clear; IdPOP31.Host:='mail.rambler.ru'; IdPOP31.Username:=Mail; IdPOP31.Password:=Pass; IdPOP31.Port:=110; IdPOP31.Connect; if IdPOP31.CheckMessages = 0 then begin Log('Сообщение пока не получено'); Log('Жду ещё '+IntToStr(Timer1.Interval div 1000)+' секунд'); Timer1.Enabled:=true; IdPOP31.Disconnect; Button2.Enabled:=true; exit; end; IdPOP31.Retrieve(1,IdMessage1); IdPOP31.Disconnect; TS.Clear; TS.AddStrings(TIdText(IdMessage1.MessageParts.Items[0]).Body); s:=Copy(TS.Text,pos('href="',TS.Text)+6,Length(TS.Text)); s:=Copy(s,1,pos('"',s)-1); s:=Utf8ToAnsi(HTTP.Get(s)); Button2.Enabled:=true; if pos('Вы успешно зарегистрировались в ICQ',s)>0 then begin s:=HTTP.Response.RawHeaders.GetText; s:=Copy(s,pos('karma_login=',s)+12,Length(s)); s:=Copy(s,1,pos(';',s)-1); Append(myFile); WriteLn(myFile,s+';'+pass); CloseFile(myFile); Log('UIN зарегистрирован'); Log(s+';'+pass); end; end;
end.
Персонажи для Галактики знакомств
|
|
|
|