"Игорь Коваль. Как написать вирус" - читать интересную книгу автора могут содержать любые данные. Но стоит заметить,
что повреждение байтов 1, 3 или 4 приводит к выда- че сообщения : Memory Allocation Error System Halted и немедленному " зависанию " компьютера . А теперь вернемся к нашей программе . Как показал эксперимент, достаточно подменить в MCB, предшествующем вирусному коду, байты 1 и 2 . Причем лучше всего записать вместо этих байт PID какой - нибудь из уже загруженных в память про- грамм.Этим достигается еще и незаметность вируса в памяти.Советую вам попробовать загрузить несколько TSR - программ и в MCB одной из них подменить бай- ты 1 и 2 на PID какой - нибудь другой программы . После этого нажмите в Volkov Commander клавиши ALT и F5, и вы увидите очень интересный эффект . Но дело в том, что для использования вышеприведен- ного метода необходимо еще найти программу, на PID которой наш вирус будет " паразитировать ".Сделать это не так просто, как может показаться на первый взгляд .И поэтому для облегчения нашей работы вме- сто PID загруженной в память программы мы запишем а именно : 0070h : ; _______________________________________________ ;| Теперь свободный блок памяти найден | ;| ( сегментный адрес в AX ), и | ;| нужно записать в него код вируса ... | ;|_______________________________________________| xor di,di ;Делаем вирус mov bx,ax ;"невидимым" в dec bx ;памяти ... mov word ptr cs:[2],bx mov es,bx mov bx,0070h mov es:[di+1],bx Предыдущий фрагмент вернул нам сегментный адрес выделенного для вируса блока памяти в регистре AX. Приведенные программные строки очень просты, и объяснять их работу не нужно. Следует только ска- зать, что вирус фактически отнимает у DOS несколь- ко килобайтов памяти, поэтому необходимо скоррек- тировать PSP программы - носителя вируса.А именно- уменьшить верхнюю границу блока памяти,выделенного |
|
|