ฟอรั่ม PSsix

Would you like to react to this message? Create an account in a few clicks or log in to continue.

ฟอรั่มของบล็อก http://pssix.blogspot.com


3 posters

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 04/02/11, 10:08 pm

    พอดีเจอไวรัสแฟรชไดรฟ์ ตัวหนึ่งครับ มันทำงานอย่างนี้ครับ
    สมมุติว่า ในแฟรชไดรฟ์มีโฟลเดอร์ 2 อัน ชื่อ a กับ b
    มันจะสร้างไฟล์ไวรัสเป็นรูปโฟลเดอร์ชื่อ a.exe อยู่ในโฟลเดอร์ a ครับ และในโฟลเดอร์ a มีโฟลเดอร์ ก อยู่
    มันก็จะสร้างไวรัส ก.exe อีกในโฟลเดอร์ ก เป็นอย่างนี้ไปเรื่อย ถ้ามีโฟลเดอร์ซ้อน ๆ กัน มันก็จะตามไปสร้างจนกว่าจะไม่มีโฟลเดอร์ครับ โฟลเดอร์ b ก็เป็นแบบเดียวกัน
    ถ้าเกิดในแฟรชไดรฟ์มี โฟลเดอร์ซัก 10 โฟลเดอร์ แล้วแต่ละโฟลเดอร์นั้นก็มีอีก 10 โฟลเดอร์ เป็นอย่างนี้ซ้อนกันไป 10 ชั้นเราจะเขียนฟังก์ชันลบมันยังไงดีครับ คิดว่าน่าจะเป็น Recursive
    นี่เป็นตัวอย่าางโค๊ดที่เขียนแต่จัดการได้แค่ ชั้นเดียว สมมุติแฟรชไดรฟ์คือ G:\

    Code:

    #Include <File.au3>
    #Include <Array.au3>

    $FileList=_FileListToArray("G:\","*",2)
    $NumFileList=$FileList[0]
    $i=0
    While $i<=$NumFileList
       if FileExists("G:\"&$FileList[$i]&"\"&$FileList[$i]&".exe") then
          ;FileDelete("G:\"&$FileList[$i]&"\"&$FileList[$i]&".exe")         
          MsgBox(0,"","เจอไวรัส """&$FileList[$i]&".exe""")
       EndIf
    $i=$i+1
    WEnd
    ช่วยชี้แนะด้วยครับ em228
    POS
    POS
    PSsix
    PSsix


    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by POS 05/02/11, 07:18 am

    ลองดูตัวอย่างตามลิงก์ด้านล่างนี้ครับ ใช้วิธีคล้ายๆ กันกับการก็อปปี้ข้อมูล เพียงแต่เราหาชื่อไฟล์ที่ตรงกับชื่อโฟลเดอร์แล้วสั่งลบไฟล์นั้นทิ้ง แทนที่จะก็อปปี้ข้อมูล

    [You must be registered and logged in to see this link.]

    อย่างไรก็ตามวิธีการนี้ไม่ค่อยดีสักเท่าไหร่ โดยปกติไวรัสมักจะก็อปปี้ตัวเองแล้วเปลี่ยนชื่อเป็นโฟลเดอร์ ดังนั้นไฟล์ไวรัสก็จึงเป็นไฟล์เดียวกันหมด มีข้อมูลเหมือนกันหมดทุกไฟล์ ใช้วิธีตรวจหา MD5 จะได้ผลลัพธ์ที่เที่ยงตรงกว่า โค้ดคำสั่งในการดึงเอา MD5 จากไฟล์ออกมาเคยเห็นอยู่ในเว็บหลัก AutoIt ลองหามาใช้ดูครับ

    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 06/02/11, 06:49 pm

    POS พิมพ์ว่า:ลองดูตัวอย่างตามลิงก์ด้านล่างนี้ครับ ใช้วิธีคล้ายๆ กันกับการก็อปปี้ข้อมูล เพียงแต่เราหาชื่อไฟล์ที่ตรงกับชื่อโฟลเดอร์แล้วสั่งลบไฟล์นั้นทิ้ง แทนที่จะก็อปปี้ข้อมูล

    [You must be registered and logged in to see this link.]

    อย่างไรก็ตามวิธีการนี้ไม่ค่อยดีสักเท่าไหร่ โดยปกติไวรัสมักจะก็อปปี้ตัวเองแล้วเปลี่ยนชื่อเป็นโฟลเดอร์ ดังนั้นไฟล์ไวรัสก็จึงเป็นไฟล์เดียวกันหมด มีข้อมูลเหมือนกันหมดทุกไฟล์ ใช้วิธีตรวจหา MD5 จะได้ผลลัพธ์ที่เที่ยงตรงกว่า โค้ดคำสั่งในการดึงเอา MD5 จากไฟล์ออกมาเคยเห็นอยู่ในเว็บหลัก AutoIt ลองหามาใช้ดูครับ


    ขอบคุณครับคุณ POS ช่วยได้เยอะเลยครับ
    POS
    POS
    PSsix
    PSsix


    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by POS 06/02/11, 07:24 pm

    ลิงก์ตัวอย่างที่ให้ทำในระดับโฟลเดอร์ย่อยไม่มากได้ดี แต่ถ้าโฟลเดอร์มากๆ หรือเลือกเป็นไดรฟ์จะทำงานช้า

    เมื่อวานเลยลองไปหาดู UDF MD5 ในเว็บ AutoIt เขียนทดสอบร่วมกับวิธีใหม่ ปรากฏว่าทำงานได้เร็วกว่ามาก

    วิธีใช้
    นำไฟล์ md5.au3 ไปวางไว้ในโฟลเดอร์เดียวกับโค้ดนี้


    1. เลือกไฟล์ไวรัสก่อนเพื่อดึง MD5 ออกมา

    2. จากนั้นก็เลือกโฟลเดอร์หรือไดรฟ์ โปรแกรมจะสแกนหาไฟล์ไวรัสตัวนั้น โปรแกรมจะสแกนหาไฟล์ที่มี MD5 ตรงกับไฟล์ไวรัสแล้วแสดงรายชื่อออกมา จะเขียนต่อให้ลบทิ้งหรือสั่งกักไฟล์เอาไว้ก็ได้ โค้ดด้านล่างนี้ไปแก้ไขเอาตามสะดวก


    Code:
    #include  "md5.au3"
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <array.au3>

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("PSsix", 409, 190, 192, 124)
    $Button1 = GUICtrlCreateButton("1 เลือกไฟล์", 200, 8, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("2 เลือกโฟลเดอร์", 296, 8, 85, 25, $WS_GROUP)
    $Edit1 = GUICtrlCreateEdit("", 8, 48, 361, 129)
    GUICtrlSetData(-1, "")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit

          Case $Button1


             $md5File = FileOpenDialog("Select File", @ScriptDir, "All Files (*.exe)", 1)
             If $md5File Then
                $checkmd5 = _MD5ForFile($md5File)
                GUICtrlSetData($Edit1, $checkmd5)
             EndIf

          Case $Button2
             $var = FileSelectFolder("เลือกไดรฟ์หรือโฟลเดอร์ที่จะหาไฟล์", "")
             If $var <> "" Then
                WinSetTitle($Form1, "", $var)
                $filelist = _FileListToArrayEx($var, "*.exe")
                If IsArray($filelist) Then
                   For $i = 1 To $filelist[0]
                      $md5a = _MD5ForFile($filelist[$i])
                      If $checkmd5 == $md5a Then GUICtrlSetData($Edit1, GUICtrlRead($Edit1) & @CRLF & $filelist[$i])
                   Next
                EndIf

             EndIf

       EndSwitch
    WEnd
    Attachments
    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Attachmentmd5.zip
    ไฟล์ MD5.au3
    You don't have permission to download attachments.
    (3 Kb) Downloaded 27 times
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 06/02/11, 08:40 pm

    ขอบพระคุณงามๆ อีกครั้งครับ ถ้าจะรวม Hash ของไวรัสหลายๆ ตัวแล้วสั่งให้ลบทีเดียวได้มั้ยครับ อย่างเช่นใส่ Hash ใน Notepad ตัวละบรรทัด
    POS
    POS
    PSsix
    PSsix


    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by POS 07/02/11, 12:24 am

    ทำแบบนั้นก็ได้ครับ ใช้คำสั่ง FileReadLine หรือ _FileReadToArray(คำสั่งนี้น่าจะดีกว่า) จับรหัสของไฟล์ไวรัสแต่ละตัวมาวนลูป for ตรวจสอบ MD5 ของแต่ละไฟล์ หลักการเดียวกับโปรแกรมป้องกันไวรัส

    แต่จะติดปัญหาอย่างหนึ่งคือถ้าจะทำจริงๆ ฐานข้อมูล MD5 ไวรัสของเราคงมีไม่มากเท่าโปรแกรมป้องกันไวรัส หรือถึงแม้จะไปหาฐานข้อมูลแบบนี้มาได้ ก็ไม่อัปเดทข้อมูลเท่าโปรแกรมป้องกันไวรัส(คนเดียว เทียบกับแรงคนทั้งบริษัทผู้ผลิตโปรแกรม)
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 07/02/11, 10:38 am

    ขอบคุณครับคุณ POS ถึงจะไม่ดีเท่าโปรแกรมสแกนไวรัส แต่ถ้าเอามาใช้ร่วมกับโปรแกรมแสกนไวรัสแฟลชไดรฟ์ แบบเสียบแล้วค้นหาเลย(คุณ POS เคยทำให้ดู) ก็น่าจะดีกว่าโปรแกรมสแกนไวรัสทั่วไปนะครับเพราะ โปรแกรมทั่วไปไม่ได้สแกนทันทีเวลาเสียบแฟลชไดรฟ์ ถึงแม้จะเปิด scan realtime มันก็ยังต้องเปิดโฟลเดอร์ที่มีไวรัสนั้นอยู่ หรือต้องสั่งมันทำงานก่อน จึงจะจับไวรัสได้ และที่สำคัญเราสามารถจัดการไวรัสที่กำลังระบาดในขณะนั้นได้โดยไม่ต้องรอ update โปรแกรม Anti virus ครับ ขอบคุณแนวคิดดีๆ ครับ
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 15/02/11, 12:23 pm

    โปรแกรมที่คุณ POS เขียนตัวอย่างมา ตรงให้เลือกไฟล์
    $md5File = FileOpenDialog("Select File", @ScriptDir, "All Files (*.exe)", 1)

    มีวิธีอื่นมั้ยครับในการเลือกไฟล์ เช่น ลางมาวางบนโปรแกรม Autoit ทำได้รึเปล่าครับ

    POS
    POS
    PSsix
    PSsix


    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by POS 15/02/11, 04:47 pm

    ถ้าต้องการแบบลากไฟล์แล้วดึงเอาตำแหน่งและชื่อไฟล์ออกมา ก็ตั้งค่าตามตัวอย่างด้านล่างนี้ครับ

    Code:
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 351, 181, 192, 124,-1,$WS_EX_ACCEPTFILES)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Label1 = GUICtrlCreateLabel("จุดลากวาง", 8, 8, 331, 129)
    GUICtrlSetState ($Label1 , $GUI_DROPACCEPTED )
    GUISetOnEvent ( $GUI_EVENT_DROPPED, "getpath" )
    GUICtrlSetBkColor(-1, 0x008000)
    $Input1 = GUICtrlCreateInput("", 8, 152, 329, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
       Sleep(100)
    WEnd

    Func getpath()
       GUICtrlSetData($Input1,@GUI_DRAGFILE)
       EndFunc

    Func Form1Close()
    exit
    EndFunc
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 15/02/11, 07:14 pm

    ขอบคุณครับ ยอดเยี่ยมมากเลย

    ผมเขียนฟังก์ชัน เอาไฟล์ .exe มาวนลูปฐานข้อมูล MD5 ช่วยดูหน่อยนะครับว่าจะปรับปรุงให้ดีกว่านี้ได้รึเปล่า
    Code:

    #NoTrayIcon
    #Include <File.au3>
    #Include <Array.au3>
    #include<Misc.au3>
    #include  "md5.au3"
    _Singleton(@ScriptName, 0)   
    $FLASHDRIVE="E:"
    Dim $checkmd5 
            If $FLASHDRIVE <> "" Then
              $filelist = _FileListToArrayEx($FLASHDRIVE, "*.*")
              If IsArray($filelist) Then
                 For $i = 1 To $filelist[0]
                    $md5a = _MD5ForFile($filelist[$i])
                   _FileReadToArray(@ScriptDir&"/MD5_virusList.txt",$checkmd5)
                   For $x = 1 to $checkmd5[0]
                         If $checkmd5[$x] == $md5a Then
                                  if StringInStr(FileGetAttrib($filelist[$i]), "H") Then FileSetAttrib($filelist[$i],"-RASH")
                            FileDelete($filelist[$i])
                         EndIf
                   Next      
                Next
             EndIf
          EndIf
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 15/02/11, 09:03 pm

    บางทีก็ช้าบางทีก็เร็วครับ ไม่เข้าใจเหมือนกัน คิดว่าน่าจะอยู่ที่ขนาดไฟล์ ถ้าไฟล์ใหญ่ก็จะใช้เวลาในการหา hash นานกว่า ไฟล์เล็กๆ ครับ
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 16/02/11, 07:18 am

    ลองดูแบบละเอียดอีกที ถ้าทำครั้งแรกจะนานครับ ครั้งต่อไปจะรวดเร็วมาก เป็นเพราะอะไรครับ
    POS
    POS
    PSsix
    PSsix


    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by POS 16/02/11, 02:25 pm

    ใช้คำสั่ง FileGetSize ตรวจหาขนาดไฟล์ก่อนครับ ถ้าใหญ่เกินกำหนดก็ข้ามไปไม่ตรวจ
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 16/02/11, 03:51 pm

    อ๋อจริงด้วยครับ เพราะส่วนใหญ่ไฟล์มันไม่เกิน 1 mb
    เร็วขึ้นจริงๆ ครับ
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 18/02/11, 02:42 am

    มีไวรัสตัวหนึ่งครับ กำลังระบาดในแฟลชไดรฟ์ มากตอนนี้ เรียกทั่วไปว่าไวรัส สร้าง shortcut การทำงานของมันคือ เครื่องที่ติดแล้วจะซ่อนไฟล์ ไม่สามรถเปิดไฟล์ที่ซ่อนได้ครับ
    แล้วพอเสียบแฟรชไดรฟ์ไป มันซ่อนไฟล์/โฟลเดอร์ใน แฟลชไดรฟ์ของเราและสร้าง shorucut ขึ้นมาให้มีหน้าตาเหมือนกับไฟล์ของเรา แต่ shortcut มันจะชี้ไปที่ ไฟล์ไวรัสที่ซ่อนตัวอยู่ บริเวณ Root ของแฟลชไดรฟ์ ลวงให้เราไปคลิกครับ

    ที่ปวดหัวคือ hash MD5 มันไม่ซ้ำกันครับ ทั้งที่ขนาดเท่ากัน ทีนี้เราจะจัดการกับมันอย่างไรดีครับ เพราะใช้ วิธีเช็ค Hash ไม่ได้แล้ว

    ผมได้แนบไฟล์ซิบไวรัสมาให้ถ้าใครอยากลอง แต่ไม่แนะนำให้ลองกับเครื่องที่ไม่ได้แช่แข็งไว้นะครับ ระมัดระวังด้วย สำคัญที่สุด
    Code:
    http://www.mediafire.com/?f6sqn6dyh2sk3uw
    POS
    POS
    PSsix
    PSsix


    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by POS 18/02/11, 09:54 am

    ใช้วิธีอ่านข้อมูลในไฟล์ไปด้วยก็ได้ จะคล้ายๆ กับวิธีการตรวจลายเซ็นต์ไวรัสในโปรแกรมป้องกันไวรัส ส่วนใหญ่ไวรัสจะเปลี่ยนข้อมูล(มักใช้วิธีสุ่มใส่ตัวอักษร)ตรงท้ายๆ ไฟล์ แต่ส่วนหัวจะเหมือนกันหมด ก็ตรวจดูส่วนหัวก่อนลบ ถ้าเหมือนกันก็น่าจะเป็นไวรัส วิธีดึงเอาแถวตรงหัวออกมาตรวจก็ใช้วิธีง่ายๆ ตามโค้ดนี้

    Code:
    $file = FileOpen("miuawik.exe", 0)
       $line = FileReadLine($file,5)
       ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $line = ' & $line & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    FileClose($file)
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 18/02/11, 11:21 pm

    โอ้โห อ่านข้อความจากไฟล์ .exe ได้ด้วยเหรอครับ สุดยอดไปเลย
    avatar
    Fast
    PSsix Member Super Class III
    PSsix Member Super Class III


    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty PSsix Program Coder
    จำนวนข้อความ : 217
    ความนิยม : 54
    เข้าร่วมเมื่อ : 19/06/2011

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by Fast 05/01/12, 10:42 pm

    ดันนิดขี้เกียจหา เดี๋ยวจะลองศึกษาดูจริงจังสักที
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ Empty Re: ช่วยสอน วิธีเขียนฟังก์ชัน Recursive จัดการไวรัส หน่อยครับ

    ตั้งหัวข้อ by sirchet 05/01/12, 10:58 pm

    สนับสนุนครับท่าน fast
    ศึกษาในนี้ก่อน แต่ตอนนี้ท่าน POS มีเทคนิคใหม่โดยการหาลักษณะเฉพาะของไวรัส ผมยังไม่ได้ตามเลย ฝากส่งไม้ต่อให้ท่าน Fast ละกันนะครับ คำสั่งแนวคิดเหมือนกันถ้าท่านทำเทคนิคในกระทู้นี้ได้ก็ไม่น่ามีปัญหา และอย่าลืมนำโค๊ดมาแบ่งปันกันด้วยนะครับ ผมเองก็ไม่รู้จะให้คำปรึกษาได้มากน้อยแค่ไหน แต่ก็ยินดีช่วยเต็มที่ครับ

      เวลาขณะนี้ 28/04/24, 07:22 am