Аналіз комп’ютерних вірусів. Виявлення основних аспектів, що властиві вірусам

Страницы работы

Содержание работы

Міністерство Освіти і Науки України

Національний Технічний Університет

“Харківський Політехнічний Інститут”

Кафедра обчислювальної техніки та програмування

Лабораторна робота № 6

по курсу “Системне програмування”

на тему:

“Аналіз компютерних вірусів”

Виконав:

студент групи КІТ-11А

Ткаченко С. М.

Харків 2003

Мета роботи:

Проаналізувати роботу фрагменту вірусу. Виявити основні аспекти, що властиві вірусам.

Індивідуальне завдання:

   Модуль taipan.exe. Фрагмент cs:0250 0287

Лістінг фрагменту віруса:

-u cs:0250 0287

10B8:0250 B80242        MOV     AX,4202                           

; (AX) = 4202

; Функция DOS 42h - установить указатель файла

; Подфункция 02h - установить указатель в конец файла + (CX):(DX)

; (BX) - file handle

; В (DX):(AX) возвращается новая позиция указателя

; ( в нашем случае (DX):(AX) -  размер файла )

10B8:0253 33C9          XOR     CX,CX                             

; (CX) = 0

10B8:0255 33D2          XOR     DX,DX                             

; (DX) = 0

10B8:0257 CD21          INT     21                                

; вызываем функцию DOS 42h

10B8:0259 3D41FD        CMP     AX,FD41                           

; сравнить (AX) и число FD41h

10B8:025C 7719          JA      0277                               

; если (AX) > FD41h, то (IP) = 0277

10B8:025E 0BD2          OR      DX,DX                             

; (DX) = (DX) or (DX)

10B8:0260 7515          JNZ     0277                              

; если (DX) <> 0, то (IP) = 0277

; т.е. если размер файла > FD41h, тогда файл закрывается и

; вирус в него не записывается

10B8:0262 50            PUSH    AX                                

; (SP) = (SP) – 2

; (SS):[SP] = (AX)

10B8:0263 8B16BE01      MOV     DX,[01BE]                         

; (DX) = (DS):[01BE]

10B8:0267 B104          MOV     CL,04                             

; (CL) = 04

10B8:0269 D3E2          SHL     DX,CL                             

; сдвиг (DX) на 4 бита влево

10B8:026B 2BC2          SUB     AX,DX                             

; (AX) = (AX) – (DX)

10B8:026D 2DB601        SUB     AX,01B6                           

; (AX) = (AX) – 01B6h

10B8:0270 3B06CA01      CMP     AX,[01CA]                         

; сравнить (AX) и содержимое ячейки (DS):[01CA]

10B8:0274 58            POP     AX                                

; (AX) = (SS):[SP]

; (SP) = (SP) + 2

10B8:0275 7502          JNZ     0279                              

; если (AX) <> (DS):[01CA], то (IP) = 0279

; возможно, вирус проверяет, заражен файл или нет.

; если файл заражен, он закрывается; если нет – выполняются

; определенные действия

10B8:0277 EB6F          JMP     02E8                              

; (IP) = 02E8

; переход на закрытие файла и выход

10B8:0279 52            PUSH    DX                                

; (SP) = (SP) – 2

; (SS):[SP] = (DX)

10B8:027A 50            PUSH    AX                                

; (SP) = (SP) – 2

; (SS):[SP] = (AX)

10B8:027B B80057        MOV     AX,5700                           

; (AX) = 5700

; функция DOS 57h, подфункция 00 – получение даты и времени последней

; модификации открытого файла

10B8:027E CD21          INT     21                                

; вызываем функцию DOS 57h

10B8:0280 890EAB00      MOV     [00AB],CX                         

; (DS):[00AB] = (CX) = время последней модификации файла

10B8:0284 8916AD00      MOV     [00AD],DX                         

; (DS):[00AD] = (DX) = дата последней модификации файла

Висновки:

   Поданий фрагмент вірусу виконує такі дії:

-  аналізує розмір відкритого файлу, щоб перевірити, чи є місце для запису вірусу у файл;

-  аналізує, заражений файл цим вірусом, чи ні. Якщо файл вже заражений або його розмір надто великий, файл закривається;

-  отримує час та дату останньої модифікації файлу. Після зараження файлу отримані час та дата записуються назад на свої місця, щоб по цим даним було неможливо виявити факт зараження вірусом.

Похожие материалы

Информация о работе