Содержание
  ДОМОЙ
  НОВОСТИ  
  IT АКАДЕМИЯ
  WAP-ВЕРСИЯ
  ФОРУМ
  БЕЗОПАСНОСТЬ
  ПРОГРАММИРОВАНИЕ
  ИНСТРУМЕНТ ВЕБМАСТЕРА
  ВСЁ ДЛЯ КПК
  СТАТЬИ NEW
  СОФТ
  ВИДЕО
  X-INFO
  ПРОКСИ ЛИСТ
  IT МУЗЫКА
  АНЕКДОТЫ
  ССЫЛКИ
  ТЕХ. ПОДДЕРЖКА
  ПРАВООБЛАДАТЕЛЯМ
  О НАС

 

Ваш IP

18.191.189.124

Человек на сайте На сайте: 332 человек(а)

Здесь могла бы
быть Ваша
РЕКЛАМА




LOVELOOSE _1.0
 



Здесь я расскажу о создании вирусов в дельфи в общем, т.к. описывать конкретный вирус не имеет значения, исходник я снабдил большим количеством комментариев, при этом он прост настолько, что проще придумать уже нельзя. Итак линк на исходник виря LOVELOOSE написанного собственноручно для ознакомления тебя с некоторыми премудростями. Написан он целиком на вин апи. Вес скомпилированного (но не упакованного) около 20 килобайт (чуть меньше).Ради интереса я удалял из него информацию о файле и сжимал UPX'ом - у меня получилось 11 килобайт... Вообщем качай исходник и продолжим.
Для начала я замечу одну важную "мелочь" - ВИРУСЫ НА ДЕЛЬФИ НЕ ПИШУТ - это геморой и... даже не столько геморой сколько маразм... =))) Пихать в файл 20 килобайт, в лучшем случае (ради интереса я заценил исходники чужих творений на дельфи в интернете и должен сказать на меня произвело это довольно удручающее впечатление... То один не смог "как ни старался" выкинуть модуль SysUtils... Наверно плохо старался =))) другой вообще предлагает звирька на 200 килобайт... Это млин вааще не звирёк а какойто слон... =))) Ну да ладно, забьём на них всех и приступим.
С кодом ты ознакомишся в исходнике, а я опишу сисему работы. Итак, для начала процедура заражения. Первым делом мы бэкапим заражаемый файл, т.е. просто копируем его куда-нибудь, потом мы пытаемся его удалить - этим мы не просто его убираем, а проверяем, запущен ли файл, есть ли у нас к нему доступ, мы ведь работаем не в RING 0 =)) Далее, если вдруг файл удалить не получается - убиваем бэкап, и выходим из процедуры, а вот если получилось... значит просто берём и копируем себя (т.е. тело самого вируса в чистом виде) с именем файла, а настоящий файл приписываем как "хвост" к вирусу сзади. Тут целая уйма геморроя - во первых значок файла изменится на значок нашего виря - большего палева уже и представить нельзя, так же изменяется размер конечного файла. Далее сносим опять - таки бэкап и двигаемся дальше.
Далее я опишу процедуру распаковки, она ещё проще - просто берём, придумываем случайное имя, для проги которую собираемся распаковать и установив файловый указатель в размер вируса (для таких рода целей и служит константа хранящая размер виря, у меня VIRSIZE) далее вытаскиваем хвост из заражённого файла, так же как записывали, только наоборот, распаковав - обязательно скрываем копию оригинального файла, лучше с пометкой "системный", а то у многих юзверей стоит "отображать скрытые файлы", а системные редко кто просматривает, больно уж их много =) и запускаем распакованный файл, и работаем спокойно далее...
Теперь что касается подсчёта контрольных сумм. В частности тут я сделал это для того, чтобы определить был ли уже заражён файл, ведь если контрольная сумма первых VIRSIZE байт совпадает с нашими, значит мы уже есть в том файле. Здесь возможна уйма вариантов - вести лог (помойму самый геморойный вариант), можно создавать в папке с файлом, пустой файл с именем заражённого + например infected, и тщательно скрыть его, но этот вариант помойму, кроме геморойности ещё и дебильный...
Двигаем исходник дальше. В функции GetFileExt мы получаем расширение файла. Она далеко не идеальна, в частности здесь следовало бы употребить for ... downto ... однако переделывать мне было лень, в скорем времени я ещё немного модифицирую и оптимизирую код, и выложу для ознакомления.
Теперь пару слов о поиске. Поиск - чуть ли не самая важная процедура везде и всегда - вирусы ищут жертв, трояны - инфу, которую склеротичный юзер записал в блокнотике, и конечно же сохранил с именем пароли.txt =)) Вообщем, в начале приводится довольно много вариантов распознавания папки, дабы отличить её от файла мне пришлось перебрать все варианты, ведь папка может обозначаться не только FILE_ATTRIBUTE_DIRECTORY, но и FILE_ATTRIBUTE_DIRECTORY and FILE_ATTRIBUTE_SYSTEM (системная), и т.д. чтобы не возникло проблем в точном определении папки. Функция поиска - рекурсивная, т.е. вызывает сама себя, здесь конечно же используется стек, здесь нужно быть осторожным, если юзверь насоздаёт очень много папок друг в друге, то может произойти переполнение стека, при этом программа со свистом вылетит и покажет юзеру ошибку.
Далее, у нас процедура LogonSystem, в ней мы заражаем комп вцелом. Это сделано для того, чтобы вирус мог полноценно размножаться, и заражать другие компы, не имея себя в чистом виде. Т.е. например, дал ты кому-нибудь виря на болванке с автозапуском, вес exe'хи на его компе позаражались, и тут, его попросили дать одну прогу... =))) Чел получивший заражённую прогу нормально её запустит, всё заработает, при этом комп будет уже заражён. Так мы сможем плодится, и заражать хоть и таким примитивным способом другие компы. Теперь посмотри внимательней на процедуру - в ней я не просто скопировался в системный каталог, а именно "вырезал" себя из заражённого файла, нет, файл остался заражённым, но весь файл я с собой не потащил, только тело в чистом виде.
Ну вот собственно и всё, далее идут такие простые вещи, значение которых ты можешь понять и сам. В документе я пояснил как устроен простейший вирус на дельфи, однако несмотря на всё, пошутить (жестоко) всё-таки можно, например если кто-то очень сильно тебя достал =) Напоследок о распространении - скорее всего это болванка с музыкой, софтом, фильмами и прочим варезом, тогда не мешало бы замутить автозапуск на болванку, чтобы вирь запустился сразу после того как болванку вставят в сидюк. Итак, запускай свой notepad, и пиши в нём такие строки:

[AUTORUN]
open=vir.exe

Здесь vir.exe путь и имя к нашему вирусу. Сохрани файл с названием autorun.inf, и запиши на болванку вместе с вирем в корневой каталог. Всё. Исходник autorun.inf

SLAyer

Другие статьи

По всем вопросам и предложениям по сайту пишите на info@comp-info.ru
 


Содержание
  ДОМОЙ
  НОВОСТИ  
  IT АКАДЕМИЯ
  WAP-ВЕРСИЯ
  ФОРУМ
  БЕЗОПАСНОСТЬ
  ПРОГРАММИРОВАНИЕ
  ИНСТРУМЕНТ ВЕБМАСТЕРА
  ВСЁ ДЛЯ КПК
  СТАТЬИ NEW
  СОФТ
  ВИДЕО
  X-INFO
  ПРОКСИ ЛИСТ
  IT МУЗЫКА
  АНЕКДОТЫ
  ССЫЛКИ
  ТЕХ. ПОДДЕРЖКА
  ПРАВООБЛАДАТЕЛЯМ
  О НАС

 
Поиск по сайту
Утилиты

  Сниффер
  Лог сниффера
  MD5 и Base64
  Декодирование MD5 NEW
 Перекодировщик
  Проверить прокси
  Проверка анонимности
  Генерация пароля
  Скрипт определения IP
  Поиск информации
   Проверить IP (Whois)
   Узнать скорость закачки
   Добавить свой сайт в поисковые системы>
   Подсветка php-кода

ПОЛЕЗНАЯ ИНФОРМАЦИЯ:
  Список национальных доменных имен
  Компьютерные термины
  Смайлики
   Аналоги Win-программ в Linux
   Коды ответа HTTP сервера
   Записки невесты программиста

Здесь могла бы
быть Ваша
РЕКЛАМА





Права на содержащиеся на сайте материалы принадлежат авторам материалов и владельцам проекта.
Copyright Комп-Инфо.ру © 2005