Ðề: Virus Macro
Các bác ơi, file KT của mình bị nhiễm Virus Macro...mỗi lần mở file đó lên là nó hiện lên BOOK1, và hàng trăm cái Sheet nữa. MÌnh đã làm nhiều cách nhưng vẫn ko được. Các bác có cách gì diệt nó giùm mình ko hic hic.
Mình có vào thư mục XLSTAR để xó book 1 đi nhưng ko đc, mình có dùng PM Symantec, BKAV, kaspersky, norton...hu hu tất cả đều vô dụng...mình ko thể yên thân với virus này được. Anh bên SC máy VT nói phải xóa file nó đi thi mới hết. Nhưng các bác ơi xóa nó đi thì nói làm gì nữa huuu, giúp mình với
Hình như máy của bạn bị nhiễm virus Xic.gen thì phải. Virus này lưu các lệnh macro trên một sheet tên là XL4Poppy thì phải và được ẩn đi. Từ khi máy bị nhiễm thì các file Excel mở ra sau này đều có thể bị nhiễm và khi mở ra sẽ tự tạo file book1 trong thư mục xlstart
Cái này dùng Norton Antivirus mở từng file Excel ra để tự dộng diệt, chứ không diệt được một lúc nhiều file.
Nếu diệt bằng tay thì có thể làm thử như sau :
- Xóa file Book1
- Mở file Excel nhớ giữ phím shift (để không chạy macro)
- Vào menu Insert -> Name -> Define
- Tìm 02 name là : Aut
pen và Auto_close để Delete đi.
- Save lại.
Khi đó, file của bạn đã có thể sử dụng được, nhưng gốc virus vẫn còn.
Nếu rảnh bạn có thể xóa hết các name đi vì thường đó là các Name do virus macro sau khi lây nhiễm của các người khác mang qua cho bạn. Sau đó Save lại.
Muốn xóa triệt để, bạn làm như sau :
- Nhấn Alt-F11 : Mở cửa sổ Visual Basic
- Nhấn Ctrl-R : Mở khung Project.
- Tại nhánh Microsoft Excel Object hiển thị các sheet của bạn trong file Excel.
- Chọn sheet nào lạ và nhấn F4.
- Tại mục Visible sửa thành -1- xlSheetVisible. Làm như thế với tất cả các sheet lạ (không phải do bạn tạo ra)
- Quay trở lại Excel, Các sheet lạ đã hiện ra rồi.
Bạn có thể Delete các sheet lạ đó đi hay giữ lại nghiên cứu tùy bạn.
Nếu bạn không có thời gian, và có biết chút ít về tạo macro trong visual Basic, thử sủ dụng macro của mình :
Function XoaVirus()
On Error Resume Next
Sheets("XL4Poppy").Visible = True
Sheets("XL4Poppy").Select
ActiveWindow.SelectedSheets.Delete
sosheet = Sheets.Count
For z = 1 To sosheet
Sheets(z).Select
solan = ActiveWorkbook.Names.Count
For i = 1 To solan - 1
tenname = ActiveWorkbook.Names(i).Name
ActiveWorkbook.Names(tenname).Delete
Next i
Next z
ActiveWorkbook.Save
End Function
Nếu bạn có ít file Excel bị nhiễm thì dùng cách này, nhưng có nhiều file thì hơi mất thời gian nhiều lắm đấy.
Chúc bạn thành công.