Энциклопедия компьютерных вирусов

         

Зараженные файлы выглядят следующим образом


Неопасный резидентный BAT-вирус. Перехватывает INT 21h и записывается в начало .BAT-файлов. Зараженные файлы выглядят следующим образом (строки между '[' и ']' являются комментариями):

@rem NAIVE @if exist naive.* goto naive @if "%range_check%=="yes goto naive @echo>naive.com [ HEX data1 ] @naive.com @if not errorlevel 33 goto superwork @del>nul naive.com @goto naive :superwork @echo>naive.com [ HEX data2 ] @echo>naive.dat [ ASCII text ] @echo>>naive.dat [ ASCII text ] @echo>>naive.dat [ ASCII text ] [ повтор ... ] @echo>>naive.dat @naive.com<naive.dat >naive.exe @del>nul naive.com @del>nul naive.dat @naive.exe>nul @del>nul naive.exe @set range_check=yes :naive [ первоначальный BAT-файл ]

"HEX data1" содержит код вызова проверки своей TSR копии ("Ты здесь?"), "HEX data2" содержит декодер ASCII->BIN, "ASCII text" содержит код вируса, преобразованный в ASCII строки. При запуске такого BAT-файла вирус проверяет ENVIRONMENT на наличие строки RANGE_CHECK и, если она равна YES, передает управление первоначальному файлу. В противном случае вирус создает файл NAIVE.COM, записывает туда код вызова "Ты здесь?", выполняет этот файл и проверяет код возврата (ERRORLEVEL). Файл NAIVE.COM содержит только вызов INT 21h с AH=F6h. Если в памяти уже присутствует копия випуса, она возвращает 12345678 в регистрах CX:DX, и NAIVE.COM отдает управление BAT-файлу с кодом ERRORLEVEL=33. Если TSR копии нет, то NAIVE.COM возвращает ERRORLEVEL=32. Вирус (в BAT-файле) проверяет значение ERRORLEVEL и, если оно равно 32, удалает файл NAIVE.COM и передает управление первоначальному BAT-коду. Иначе вирус создает два файла: NAIVE.DAT и NAIVE.COM (при этом уничтожается предыдущий файл NAIVE.COM). В файл NAIVE.COM вирус записывает декодер ASCII->BIN, в файл NAIVE.DAT - ASCII-строки. Затем вирус выполняет команду

@naive.com<naive.dat >naive.exe

которая создает файл NAIVE.EXE, считывает ASCII данные из NAIVE.DAT, декодирует их в шестнадцатеричный код, записывает результат в NAIVE.EXE и затем запускает NAIVE.EXE на выполнение.
NAIVE. EXE устанавливает резидентную копию вируса и возвращает управление BAT-файлу, который затем уничтожает NAIVE.EXE, определяет строку ENVIRONMENT "RANGE_CHECK=YES" и передает управление первоначальным командам BAT-файла. При запуске код файла NAIVE.EXE вызывает ту же самую функцию "Ты здесь?" как описано выше. Если вируса нет в памяти, NAIVE.EXE проверяет свое "поколение" и в зависимости от его значения пытается вывести на экран текст, содержащий крик души индивидуума, наконец-то достигшего половой зрелости. Однако вирус содержит две ошибки, благодаря которым текст не выводится на экран: первая ошибка - вирус никогда не увеличивает свой счетчик, вторая - все сообщения перенаправлены в NUL командой

@naive.exe>nul

Затем вирус перехватывает INT 21h и остается резидентным при помощи INT 27h. При вызовах DOS-функции ChangeDir (INT 21h, AH=3Bh) вирус ищет .BAT-файлы и записывается в их начало. При этом кодирует себя в ASCII и записывает результат в файл NAIVE.TMP, затем добавляет туда код оригинального BAT-файла и переименовывает результат.


Содержание раздела