V. Các đặc điểm của F-VIRUS
2. Kiểm tra Master Boot và Boot Sector.
Nói chung, hầu hết đoạn mã đầu trong Master Boot trên các đĩa của các máy PC chạy trên hệ điều hành DOS thông dụng đều giống nhau, nh− phần tổng quan đã phân tích, nó đều có nhiệm vụ phân tích để xác định Active Partition, sau đó chuyển chính phần mã của mình đi chỗ khác để
dọn chỗ cho việc tải Boot Record của Active Partition vào 0:7C00h (khi đó bảng tham số đĩa cứng nằm tại 0:7BEh), cuối cùng chuyển điều khiển cho đoạn mã của Boot Record vừa đọc.
Chính vì lý do đó, và một lý do nữa là số l−ợng quá đông đảo các virus, mà nhiều virus mới ch−a kịp khảo sát, ch−ơng trình kiểm tra của chúng ta sẽ tiến hành nh− sau:
- Đọc Master Boot của đĩa cứng cần kiểm tra, đối chiếu đoạn mã đầu của nó (0DAh byte) với Master Boot chuẩn, nếu trùng thì có thể kết luận rằng Master Boot này OK, còn nếu không trùng thì Master Boot này có vấn đề. Khi đó sẽ lần l−ợt đối chiếu các mã nhận biết virus trong VMB.DAT với Master Boot cần kiểm tra.
- Nếu phát hiện ra virus sẽ tiến hành khôi phục và tiêu diệt.
- Còn nếu không phát hiện ra thì có thể có hai khả năng: Đó có thể là Master Boot làm nhiệm vụ đặc biệt, hoặc đó có thể là Master Boot bị nhiễm loại virus mà ch−ơng trình của chúng ta không nhận biết đ−ợc, trong tr−ờng hợp đó, ch−ơng trình sẽ hỏi ng−ời sử dụng xem có đè một Master Boot chuẩn lên vị trí của Master Boot hay không.
Sau đây là sơ đồ khối của phần kiểm tra Master Boot: Đố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
Giải mã dữ liệu trên đĩa Yes (nếu VR mã hoá)
Khôi phục MB cũ Đè MB chuẩn
Phần này có 4 hàm chính đ−ợc viết bằng ngôn ngữ Assembler.