hệ thống.
Một ch−ơng trình phát hiện virus và khôi phục hệ thống bao gồm 3 modul chính:
- Kiểm tra bộ nhớ trong.
- Kiểm tra Master Boot và Boot Sector. - Kiểm tra file.
Ch−ơng trình phát hiện virus và khôi phục hệ thống trong đồ án tập trung chủ yếu vào virus One Half, song đ−ợc thiết kế mở để có thể phát hiện và khôi phục các loại virus thông th−ờng khác mà không phải sửa lại mã của ch−ơng trình. Cụ thể là ch−ơng trình đ−a ra các cấu trúc để l−u trữ các đặc điểm nhận dạng của virus, thông tin của các cấu trúc này đ−ợc l−u trữ trên file. Nh− vậy, sau khi một virus đ−ợc khảo sát, nếu các đặc điểm nhận dạng của nó đ−ợc cập nhật trong file dữ liệu thì ch−ơng trình hoàn toàn có thể phát hiện và khôi phục hệ thống đối với loại virus đó.
1. Kiểm tra bộ nhớ trong.
found virus
Test VMEM.DAT Abort
not found abort
not OK
Test Size Mem & Int21h Warning, choose
OK
continue Continue
File VMEM.DAT l−u trữ thông tin nhận dạng virus trong bộ nhớ. Nó sử dụng cấu trúc sau:
4 byte : Địa chỉ đoạn mã nhận biết virus trong bộ nhớ 1 byte : Số l−ợng byte trong đoạn mã nhận biết
10 byte : Mã nhận biết 10 byte : Tên của virus.
2. Kiểm tra Master Boot và Boot Sector.
Đối chiếu MB cần kiểm tra OK
với MB chuẩn Continue
not OK
Đối chiếu MB cần kiểm traKhông phát hiện với mã nhận biết VR
trong VMB.DAT
Phát hiện No
Hỏi: đè MB chuẩn
Giải mã dữ liệu trên đĩa Yes (nếu VR mã hoá)
Khôi phục MB cũ Đè MB chuẩn
File VMB.DAT l−u trữ thông tin nhận dạng virus trong Master Boot trên đĩa. Nó sử dụng cấu trúc sau:
2 byte : Địa chỉ offset của đoạn mã nhận biết virus trong Master Boot.
1 byte : Số l−ợng byte trong đoạn mã nhận biết 10 byte : Mã nhận biết
3 byte : Nơi cất giấu Master Boot cũ của đĩa 10 byte : Tên của virus.
3. Kiểm tra file.
hết
Search file End
còn
Mở file (đọc-ghi)
Khôngbị
nhiễm Kiểm tra
bị nhiễm
Khôi phục file
File VMEM.DAT l−u trữ thông tin nhận dạng virus trong bộ nhớ. Nó sử dụng cấu trúc sau:
4 byte : Vị trí của đoạn mã nhận biết trên file đối t−ợng 1 byte : Số l−ợng byte trong đoạn mã nhận biết
10 byte : Mã nhận biết 10 byte : Tên của virus.