Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 11
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn Kevin ơi, bạn giúp thì giúp cho trót đi, mình đọc mà không hiểu gì hết trơn, bạn ghi cụ thể là file bat này sẽ làm việc với ổ nào và setting lại nó như thế nào, và theo bạn nói là phải viết tên đường dẫn nữa, như vậy là không thể, vì ở đây là file bat này phải có chức năng search của window explorer để tìm file exe (ẩn và không ẩn) trong các thư mục ẩn và không ẩn, bạn nói ý tưởng mình không khả thi là không hoàn toàn đúng, để mình mô tả công việc xóa virus của mình cho bạn hiểu:
    --- Đầu tiên là máy của mình là máy sạch
    --- Mình cắm USB vào 1 máy có nhiễm virus, thế là USB mình sẽ có exe virus, nếu USB có chương trình nào thì exe của nó cũng bị nhiễm bởi dòng virus lây file, tóm lại cần phải diệt sạch sẽ các file exe trong USB này
    -----Máy của mình yếu nên chỉ mới cài một ct: USB disk sercurity
    -----Khi cắm USB vào, ct UDS này sẽ phát hiện ra autorun và file exe đi kèm, mình sẽ Delete All, thoát USB ra và cắm lại
    -----Công việc tiếp theo là sẽ mở My Computer ra, bấm vào nút search, chọn Advanced Option chọn tìm file ẩn, gõ vào chữ exe, chọn tên USB, bấm search, sau khi có kết quả sẽ bấm Ctrl A, nhấn delete chọn yes. (Đây chính là cái bước mà mình nhờ forum giúp mình tạo ra 1 file bat mà chỉ cần kích chuột 1 cái là nó tự động làm cho mình, mà tính năng mình đã mô tả chi tiết ở bài viết phía trên)
    ----Việc cuối cùng là mình mở chương trình Winrar lên để xóa các file ẩn lạ còn lại, nếu có file nào không xóa được thì mình dùng tool của Trung Quốc, sau đó dùng FixAtribute của BKAV để fix lỗi thư mục ẩn.
    ----Bạn Kevin giúp mình 1 lần nữa, à, sau này mình sẽ cài Avast nhưng như các AV khác, không có cái nào là hoàn hảo, cần phải xóa tay bạn à, không biết là file bat này có bị AV ngăn chặn không cho hoạt động không nữa

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    I'm so sorry, I can not help you more.

    Đoạn mã trong file .bat trên là đoạn mã cực kỳ cơ bản, bạn còn không hiểu thì khó rồi. Bạn cứ học dần dần, nếu ngại thì có thể thuê ai đó viết cho bạn! Cộng đồng C Việt có rất nhiều người có khả năng làm được việc này đó bạn.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Vậy cảm ơn bạn nhiều nha, nếu mình được giúp mình sẽ quay lại đây để post sản phẩm đó

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cái này không đầy đủ như bạn muốn. nó có tác dụng sau. chạy thường trú khi nào cắm usb vào thì nó sẽ check ổ đĩa usb tìm xóa file autorun.inf và các file liệt kê trong autorun.inf.
    bạn down autoit3 trên mạng về biên dịch thành exe rồi chạy
    code bắt buộc phải lưu thành file checkusb.au3
    sản phẩm năm 1 mới học lập trình chưa biết c++. c# là gì cả [IMG]images/smilies/2.gif[/IMG]

    Mã:
    #NoTrayIconsetup()if $cmdline[0]<>0 then    $msg=""    for $i=2 to $cmdline[0]         movefile($cmdline[1]&$cmdline[$i])        $msg=$msg&chr(34)&$cmdline[$i]&chr(34)&", "    Next     if FileExists($cmdline[1]&"autorun.inf") Then         movefile($cmdline[1]&"autorun.inf")    endif       writefile($cmdline[1])      if FileExists($cmdline[1]&"vr.rar") then        MsgBox(64,"CheckUsb","Đã nén File: "&$msg&" thành VR.RAR (Password: 123456789)"&@LF&"Rút và cắm lại USB để hoàn tất !!",20)    Else        MsgBox(64,"CheckUsb","Đã xoá file: "&$msg)    EndIf       ExitEndIf $listrun=ProcessList("usb.exe")if $listrun[0][0]=1 Then    HotKeySet("+{F9}","showhide")    dim $block[50],$n=0,$usb,$del=False,$run=True    main()Else    MsgBox(64,"CheckUsb","Chương trình đã chạy !!!",3)EndIf       ;~ ************************************************************Func main()checkdisk()Opt("TrayMenuMode",1) While 1    if fileexists($usb) Then        if($run=true) then            $run=False              $del=True            AutoItSetOption("TrayIconHide",0)            if(fileexists($usb&"autorun.inf")) Then                readfile($usb)            Else                TrayTip("THÔNG TIN","Không có gì bất thường"&@LF&"Cần quét virút để đảm bảo an toàn.",20,1)               endif           EndIf        endprocess()    else         if($del=true)Then            $del=False            $run=True            $n=0            for $i=1 to 19                $block[$i]=""            Next            AutoItSetOption("TrayIconHide",1)        EndIf           EndIf       sleep(10)WEnd    EndFunc ;~ CAC HAM CUA CHUONG TRINH;~ *********************************************************;~ ham setup cac chuong trinh can thietFunc setup()    if FileExists(@WorkingDir&"\checkusb.exe") Then        if ProcessExists("usb.exe") then ProcessClose("usb.exe")        Sleep(100)        FileCopy(@WorkingDir&"\checkusb.exe",@ProgramFilesDir&"\checkusb\usb.exe",9)        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","USB","REG_SZ",@ProgramFilesDir&"\checkusb\usb.exe")                ShellExecute("usb.exe","",@ProgramFilesDir&"\checkusb")        $test=MsgBox(1,"USB-tdtanvn@yahoo.com","THÔNG TIN !!!"&@LF&"Chương trình giúp mở USB an toàn khỏi virút"&@LF&"File chạy:  "&@ProgramFilesDir&"\checkusb\usb.exe"&@LF&"Khởi động:  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"&@LF&"CODE: AUTOIT3"&@LF&"BẠN CÓ MUỐN XÓA FILE NÀY KHÔNG ?. (nên xóa)")        if $test<>1 then Exit        $del=fileopen("run.bat",2)        FileWriteLine($del,"del checkusb.exe")        FileWriteLine($del,"del run.bat")        FileClose($del)        ShellExecute("run.bat")        Exit    EndIfEndFunc;~ ******************************************************;~ ham doc file autorun.inf Func readfile($dir="")dim $kt$file = FileOpen($dir&"autorun.inf", 0)While 1       if not FileExists($dir&"autorun.inf") then exitloop    $line = FileReadLine($file)    If @error = -1 Then ExitLoop;~      kiem tra co file exe or file com hay khong    if (StringInStr(StringStripWS($line,8),".")<>0)and (StringUpper(StringLeft(StringStripWS($line,8),4))<>"ICON")Then  ;~      lay chuoi sau dau "="        $remain=StringMid($line,StringInStr($line,"=")+1,StringLen($line));~          lay chuoi sau ki tu "\"        while (stringInStr($remain,"\")<>0)            $remain=StringMid($remain,StringInStr($remain,"\")+1,StringLen($remain))        WEnd;~      lay chuoi sau dau cham 3 ki tu        $remain=StringLeft($remain,StringInStr($remain,".")+3);~      xoa dau ngoac kep trong chuoi        $remain=StringReplace($remain,chr(34),"")        $n=$n+1         $kt=True        for $j=1 to $n            if($block[$j]=$remain)Then                 $kt=False                $n=$n-1                ExitLoop            EndIf           Next        $j=0            if($kt=true) Then            $block[$n]=$remain;~          MsgBox(0,"result",$block[$n])        EndIf       EndIf   WendFileClose($file);~ hien thi thong tin chuong trinh trong file autorun.inf$ms="Cảnh báo các File: " $parline=chr(34)&$usb&chr(34)for $i=1 to $n    $ms=$ms&" "&chr(34)&$block[$i]&chr(34)    $parline=$parline&" "&chr(34)&$block[$i]&chr(34)Nextif(stringlen($ms)>20)then       TrayTip("CẢNH BÁO",$ms,30,3)    ShellExecute("explorer.exe",$usb,@systemdir)    ShellExecute("usb.exe",$parline,@programfilesdir&"\checkusb")Else    TrayTip("THÔNG TIN","Không có gì bất thường"&@LF&"Cần quét virút để đảm bảo an toàn.",20,1)   EndIf   EndFunc ;~ ******************************************************************;~ ham kiem tra o dia nao se  la o usbFunc checkdisk()for $i=67 to 90    if( DriveGetType(chr($i)&":\")="removable") Then         $usb=chr($i)&":\"        ExitLoop    Else        if( DriveStatus(chr($i)&":\")="Invalid") Then             $usb=chr($i)&":\"            ExitLoop        EndIf       EndIfNext    EndFunc  ;~ ********************************************************************;~ ham chan cac chuong trinh trong file autorun.infFunc endprocess()for $i=1 to $n    if(ProcessExists($block[$i])) Then        ProcessClose($block[$i])        TrayTip("CẦN QUÉT VIRÚT","Chương trình chặn File: "&chr(34)&$block[$i]&chr(34)&@LF&"Ấn nút Folders trên thanh công cụ để mở an toàn" ,30,3)       EndIfNextEndFunc;~ *************************************************************************;~ ham di chuyen file vao noi an toanfunc movefile($fmove)    if  FileExists($fmove) Then         if FileExists(@programfilesdir&"\winrar
    ar.exe") then            $parameter="a -m1 -ep1 -hp123456789 "&chr(34)&StringLeft($fmove,3)&"VR.RAR"&chr(34)&" "&chr(34)&$fmove&chr(34)            ShellExecuteWait("rar.exe",$parameter,@programfilesdir&"\winrar","",@SW_HIDE)        EndIf    EndIf    for $i=1 to 10        FileSetAttrib($fmove,"-rsha")        FileDelete($fmove)        sleep(50)        if not FileExists($fmove) then             ExitLoop        EndIf    NextEndFunc;~ **********************************************************************************;~ ham tao lai tep autorun.inffunc writefile($disk)    if FileExists($disk&"icon.ico") then        $file = FileOpen($disk&"autorun.inf",2)        FileWriteLine($file, "[autorun]")        FileWriteLine($file, "Icon=icon.ico")        FileClose($file)        FileSetAttrib($disk&"autorun.inf","+RSH")    EndIf   EndFunc ;~ *********************************************************************Func showhide()    $reg=RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","ShowSuperHidden")    if $reg=1 Then        RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","ShowSuperHidden","REG_DWORD",0)        RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Hidden","REG_DWORD",2)        RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","HideFileExt","REG_DWORD",1)    Else        RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","ShowSuperHidden","REG_DWORD",1)        RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Hidden","REG_DWORD",1)        RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","HideFileExt","REG_DWORD",0)    EndIfEndFunc

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Viết file bat để xóa virus trong USB drivers như thế nào?

    Tình hình là mình đã nhờ bên forum bkav nhưng hình như người ta bận quá nên lâu rồi mà không thấy phản hồi là sẽ giúp hay không. Mình không hề biết chút gì về lập trình, mình chỉ nêu ra ý tưởng và được nhận câu trả lời là chuyện đó 1 file bat giải quyết được liền. Mình đã lên mạng và chỉ biết file bat cũng là dạng lập trình nhưng không biết nó có thuộc loại C ở forum này không. Không biết là mình post bài ở đây là có phạm luật không nữa, nhưng mình nghĩ chắc là bat cũng hao hao giống ngôn ngữ C.
    Nói thẳng vào vấn đề trọng tâm: tình hình là mình cần các bạn giúp đỡ tạo giùm 1 tool để xóa mấy con exe trong usb, và chức năng của nó như thế này các bạn à:
    - Không bị ngăn chặn (khóa quá trình làm việc) bởi các chương trình diệt virus
    - Có thể sửa được mục tiêu làm việc (cụ thể là, mình không biết lập trình nên mô tả theo cách của mình: target=A,B,C trong đó A là ổ G, B là ổ H, C là ổ I, người sử dụng có thể sửa lại chỉ còn ổ G thôi)
    - Có thể sửa được đuôi cần xóa (ví dụ target=.exe,.pdf......): cái này thì cũng không cần thiết lắm, chỉ cần 1 loại .exe là quá tốt rồi.
    - Khi kích hoạt file này: nó sẽ tự động tìm tất cả những file exe (ẩn và không ẩn) trong tất cả các folder(ẩn và không ẩn) trong ổ USB (cái ổ mà mình đã chỉnh lại tên: ổ G), sau đó xóa vĩnh viễn (không vào thùng rác) mà không cần hỏi ý kiến, xóa xong thì tự động tắt tool luôn

    Mình không biết gì về lập trình C nên chắc chắn mình sẽ không thể đóng góp gì được cho diễn đàn, chắc là sẽ cảm ơn bằng tin nhắn, mà không biết bao nhiêu là vừa nữa

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thiệt sự là ý tưởng của bạn khá là 'ngây thơ'

    1. File .bat được liệt kê vào các loại file nguy hiểm, cho nên mặc định sẽ không có thể tạo ra một file bat mà khi chạy nó không có bất kỳ cảnh báo nào.

    2. Các tham số (arguments) của file .bat theo nguyên tắc sau:
    %0: Lưu trữ tên chương trình (bao gồm cả đường dẫn)
    %1 - %9: là các tham số tiếp theo.

    Ví dụ:
    Chương trình tự động remove file autorun.inf trong USB và thiết lập các thuộc tính ẩn do virus tạo ra thành thuộc tính bình thường.


    Mã:
    @ECHO OFFREM Author: Kevin Hoang (@congdongcviet.com)REM Usage: cviet.bat auto IF "%1"=="auto"    DEL "Autorun.inf" "autorun.inf"ELSE    SET INPUT=    SET /P INPUT=Which file you want to remove? Enter the name: %=%    DEL "%INPUT%"ENDIF REM Set all of attributes back to normalATTRIB /S /D -H -S
    Đoạn code trên Kevin chỉ viết để mô phỏng, bạn cần phải làm cho nó phù hợp yêu cầu của bạn hơn.

    3. Ý tưởng của bạn là ý tưởng không khả thi. Chương trình bat là chương trình rất cổ điển.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Chương trình của bạn chỉ mới giống USB Disk Sercutiry thôi.
    Bạn có thể viết để nó tự search và xóa tất cả exe trong usb không, tại vì exe đi kèm autorun thường chỉ 1 hoặc 2 con thôi, còn lại chúng còn rất nhiều ở dạng Thư mục giả dạng, đàng nào mình cũng phải search để xóa chúng.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    del G:\*.exe /s /a /f /q
    Cuối cùng Langkhach bên forum bkav đã giúp mình. Chỉ cần sửa lại tên ổ G thành H hoặc I cho phù hợp với máy

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Như thế bạn để file setup nào đó trong USB sẽ bị xóa sạch mà không có thông báo nào cả. Trong lệnh trên sử dụng /a mà không chỉ ra attributes nào là thừa. Trong khi các file .exe của virus chưa chắc đã có thể xóa... he he

    USB khi cắm vài máy tính làm sao biết là ổ nào? Máy của mình lúc thì là E, lúc thì là G

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình không biết a là gì, bạn nói mình mới biết, thôi kệ, để đó cũng không sao. Nhưng /f là force phải không bạn, nếu vậy vẫn có exe chống lại được /f à.

    Trường hợp lúc G lúc E là tùy theo loại USB, nhưng cao lắm chỉ giới hạn trong 2 loại thôi (ví dụ F và G), hoặc G và I. Mình chỉ cần tạo ra 2 file, xem khi cắm USB vào là tên gì thì kích hoạt file đó.
    Hồi tối mình đã thử lại chỉ cần bỏ chung 4 dòng này vào file bat là được:
    del F:\*.exe /s /a /f /q
    del G:\*.exe /s /a /f /q
    del H:\*.exe /s /a /f /q
    del I:\*.exe /s /a /f /q

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •