ฟอรั่ม 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

    เช็คโปรแกรมให้หน่อยครับ

    Arm
    Arm
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Master PSsix Program Coder
    จำนวนข้อความ : 268
    ความนิยม : 54
    เข้าร่วมเมื่อ : 31/03/2011
    อายุ : 26

    เช็คโปรแกรมให้หน่อยครับ Empty เช็คโปรแกรมให้หน่อยครับ

    ตั้งหัวข้อ by Arm 06/05/11, 09:14 pm

    ผมลองเอาโค้ดหาไวรัสจาก MD5 ในล้วงไต๋ไวรัส2 มาดัดแปลงดูพี่ๆช่วยกันดูหน่อยครับว่าควรแก้ไขอย่างไรหรือมี error มั้ยอะไรประมาณนี้แหละครับ

    Code:
    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=MD5FileScaner.exe
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Fileversion=1.2.0.0
    #AutoIt3Wrapper_Res_Language=1054
    #AutoIt3Wrapper_Res_File_Add=MD5Hash.dll
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #compiler_plugin_funcs = MD5Hash
    FileInstall(".\MD5Hash.dll", @ScriptDir & "\MD5Hash.dll", 1)
    $plH = PluginOpen("MD5Hash.dll")
    $N = FileOpenDialog("เลือกไฟล์เพื่อหาค่า MD5", "", "All (*.*)")
    If $N Then
       $MD5 = MD5Hash($N, 1, True)
       ClipPut($MD5)
       SplashTextOn("", "ค่า MD5 ของไวรัสคือ: " & $MD5 & @CRLF & @CRLF & "โปรแกรมกำลังทำการสแกน..", "510", "80", "-1", "-1", 33, "", "", "")
       Sleep(3000)
       SplashOff()
       FileWriteLine(@TempDir & "\รายชื่อไวรัสที่ลบ.txt", "โปรแกรมสแกนหาไวรัสจากค่า MD5 (" & @ScriptName & ")" & @CRLF & _
             "สแกนเมื่อวันที่ " & @MDAY & "\" & @MON & "\" & @YEAR & _
             " เวลา " & @HOUR & ":" & @MIN & ":" & @SEC & @CRLF & @CRLF & "------------------- รายชื่อไฟล์ที่ถูกลบ -------------------")
       $FileCount = 0
       $var = DriveGetDrive("ALL")
       If $MD5 <> "" Then
          For $i = 1 To $var[0]
             If DriveStatus($var[$i]) <> "NOTREADY" Then ScanFolder($var[$i])
          Next
          $iMsgBoxAnswer = MsgBox(262148, "เสร็จ", "สแกนไฟล์เสร็จสิ้น สแกนพบ " & $FileCount & " ไฟล์" & @CRLF & "ต้องการเปิด Log ของโปรแกรมหรือไม่?")
          Select
             Case $iMsgBoxAnswer = 6 ;Yes
                FileWriteLine(@TempDir & "\รายชื่อไวรัสที่ลบ.txt", "------------------------------------------------------------" & @CRLF & _
                      "copyright freeware license 2011 by Arm (arm_2468@hotmail.com)" & @CRLF & "Special Thank: พี่มิ้งค์ คอมทูเดย์,[You must be registered and logged in to see this link.] & @CRLF & @CRLF)
                ShellExecuteWait("Notepad.exe", @TempDir & "\รายชื่อไวรัสที่ลบ.txt")
                Exit
             Case $iMsgBoxAnswer = 7 ;No
                FileDelete(@TempDir & "\รายชื่อไวรัสที่ลบ.txt")
                Exit
          EndSelect
       EndIf
    EndIf
    Func ScanFolder($SourceFolder)
       Local $Search
       Local $File
       Local $FileAttributes
       Local $FullFilePath
       $Search = FileFindFirstFile($SourceFolder & "\*.*")
       While 1
          If $Search = -1 Then
             ExitLoop
          EndIf
          $File = FileFindNextFile($Search)
          If @error Then ExitLoop
          $FullFilePath = $SourceFolder & "\" & $File
          $FileAttributes = FileGetAttrib($FullFilePath)
          If StringInStr($FileAttributes, "D") Then
             ScanFolder($FullFilePath)
          Else
             If FileGetSize($FullFilePath) < 3000000 Then
                ToolTip($FullFilePath, 200, 300, "กำลังทำการ Scan", 2)
                If md51($FullFilePath) = $MD5 Then
                   If md51($FullFilePath) <> "0" Then
                      LogFile($FullFilePath)
                      FileSetAttrib($FullFilePath, "-RSH")
                      FileDelete($FullFilePath)
                   EndIf
                EndIf
                ToolTip("")
             EndIf
          EndIf
       WEnd
       FileClose($Search)
    EndFunc  ;==>ScanFolder
    Func LogFile($FileName)
       FileWriteLine(@TempDir & "\รายชื่อไวรัสที่ลบ.txt", $FileName)
       $FileCount += 1
       ToolTip($FileName, 0, 0)
    EndFunc  ;==>LogFile
    Func MD51($N)
       Dim $MD5Plugin
       Dim $FileMD5
       $MD5Plugin = PluginOpen(@ScriptDir & "\MD5Hash.dll")
       $FileMD5 = MD5Hash($N, 1, True)
       Return $FileMD5
    EndFunc  ;==>MD51
    $plH = PluginClose("MD5Hash.dll")
    aut
    aut
    PSsix Powerful Scripting Class
    PSsix Powerful Scripting Class


    PSsix Game Coder
    จำนวนข้อความ : 472
    ความนิยม : 126
    เข้าร่วมเมื่อ : 24/07/2010

    เช็คโปรแกรมให้หน่อยครับ Empty Re: เช็คโปรแกรมให้หน่อยครับ

    ตั้งหัวข้อ by aut 06/05/11, 09:39 pm

    มานตรวจmd5ได้จากโคดautoit จะเอาไฟล์ dll มาใส่อีกทำมัยนายดูนี่ [You must be registered and logged in to see this link.] โคดโปรแกรมนี้ตรวจไฟล์ช้าแน่นายไปเปี่ยนตามตัวอย่างเร็วก่า

    Arm
    Arm
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Master PSsix Program Coder
    จำนวนข้อความ : 268
    ความนิยม : 54
    เข้าร่วมเมื่อ : 31/03/2011
    อายุ : 26

    เช็คโปรแกรมให้หน่อยครับ Empty Re: เช็คโปรแกรมให้หน่อยครับ

    ตั้งหัวข้อ by Arm 06/05/11, 10:09 pm

    งั้นพี่ aut ช่วยเอาโค้ดไปปรับปรุงให้หน่อยนะครับ จนปัญญาแล้ว em246
    POS
    POS
    PSsix
    PSsix


    เช็คโปรแกรมให้หน่อยครับ Empty เช็คโปรแกรมให้หน่อยครับ Empty เช็คโปรแกรมให้หน่อยครับ Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    เช็คโปรแกรมให้หน่อยครับ Empty Re: เช็คโปรแกรมให้หน่อยครับ

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

    โปรแกรมลักษณะนี้ผมทำไว้เหมือนกันครับ แต่ยังไม่เสร็จวิธีใช้ตามรูปด้านล่างนี้

    ด้านบนสำหรับค้นหาและแก้ไขสถานะไฟล์กับโฟลเดอร์
    ด้านล่างสำหรับค้นหาไฟล์ MD5 และสั่งลบ

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

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

    ดาวน์โหลดเวอร์ชั่นทดสอบตามลิงก์ด้านล่างนี้
    [You must be registered and logged in to see this link.]
    Arm
    Arm
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Master PSsix Program Coder
    จำนวนข้อความ : 268
    ความนิยม : 54
    เข้าร่วมเมื่อ : 31/03/2011
    อายุ : 26

    เช็คโปรแกรมให้หน่อยครับ Empty Re: เช็คโปรแกรมให้หน่อยครับ

    ตั้งหัวข้อ by Arm 07/05/11, 10:54 am

    ขอบคุณครับท่าน Admin ตอนแรกก็กะว่าจะทำเป็น GUI นี่แหละแต่พอทำออกมาแล้ว
    ไม่รู้จะเชื่อมโยงคำสั่งยังไงก็เลยทำเป็นแบบนี้แทนน่ะครับ ชินจัง

      เวลาขณะนี้ 02/05/24, 01:18 pm