Bitdefender leicht gemacht

  • Hallo,

    ich hatte gestern nix besseres zu tun, als mal den bitdefender zu attakieren. sicher kenne viele von euch den "bitdefender 8 free", dieser beinhaltet auch eine einfache console ähnlich der eingabeaufforderung die bei windows üblich ist. da ich nun mit der zeit auch gefestigter freund von autoit bin, und es permanent jetzt hasse per bat-oder cmd-dateinen die entsprechenden parameter an der besagten console zu übergeben habe ich eben halt eine ganz normale gui ala trallala gebastelt *g*. der vorteil dieses kleinen virensanner besteht darin, er muß nicht installiert werden, ist schnell und läßt sich hervorragend auch auf einer boot-cd und/oder usb-stick betreiben.

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.2.2.0
    Author: trallala

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    Template AutoIt script.

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------
    ; - ** Bitdefender Free (bdc.exe) ** GUI für die Console
    #NoTrayIcon
    ;
    Global Const $WS_EX_CLIENTEDGE = 0x00000200
    Global Const $WS_EX_TOOLWINDOW = 0x00000080
    Global Const $WS_EX_OVERLAPPEDWINDOW = 0x00000300
    Global Const $WS_EX_TRANSPARENT = 0x00000020
    Global Const $WS_EX_TOPMOST = 0x00000008
    ;
    Global Const $WS_GROUP = 0x00020000
    Global Const $WS_TABSTOP = 0x00010000
    Global Const $WS_VSCROLL = 0x00200000
    Global Const $WS_BORDER = 0x00800000
    Global Const $WS_POPUP = 0x80000000
    Global Const $WS_POPUPWINDOW = 0x80880000
    Global Const $BS_FLAT = 0x8000
    Global Const $BS_DEFPUSHBUTTON = 0x0001
    ;
    Global Const $ES_CENTER = 1
    Global Const $ES_RIGHT = 2
    Global Const $ES_AUTOVSCROLL = 64
    Global Const $ES_AUTOHSCROLL = 128
    Global Const $ES_WANTRETURN = 4096
    Global Const $ES_READONLY = 0x0800
    ;
    Global Const $PBS_SMOOTH = 1
    Global Const $PBS_VERTICAL = 4
    ;
    Global Const $SS_LEFT = 0x0000
    Global Const $SS_RIGHT = 0x0002
    Global Const $SS_CENTER = 0x01
    Global Const $SS_NOTIFY = 0x0100
    ;
    Global $file_size_bytes = 1
    Global $file_size = 1
    ;
    Global Const $GUI_EVENT_CLOSE = -3
    Global Const $GUI_EVENT_MINIMIZE = -4
    Global Const $GUI_EVENT_RESTORE = -5
    Global Const $GUI_EVENT_MAXIMIZE = -6
    Global Const $GUI_CHECKED = 1
    Global Const $GUI_INDETERMINATE = 2
    Global Const $GUI_UNCHECKED = 4
    Global Const $GUI_SHOW = 16
    Global Const $GUI_HIDE = 32
    Global Const $GUI_ENABLE = 64
    Global Const $GUI_DISABLE = 128
    ;
    $parameter=""
    ;
    $Form1 = GUICreate("", 190, 230, -1, -1,$WS_POPUPWINDOW,$WS_EX_TOOLWINDOW)
    GUISetBkColor(0x004A6F)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $LabelEins = GUICtrlCreateLabel("",8,8,170,17,$SS_CENTER)
    GUICtrlSetData ($LabelEins, "Bitdefender-Scanner")
    GUICtrlSetFont(-1, 12, 400, 0, "")
    GUICtrlSetColor(-1, 0xC0C0CC)
    ;
    $Group1 = GUICtrlCreateGroup("", 8, 24, 170, 90)
    ;
    GUIStartGroup()
    ;
    $radio_1 = GUICtrlCreateRadio ("Disketten-Laufwerk(e)", 16,40,160,20)
    GUICtrlSetFont(-1, 10, 400, 0, "")
    GUICtrlSetColor(-1, 0xFFCAA5)
    $radio_2 = GUICtrlCreateRadio ("CD-Laufwerk(e)", 16,60,160,20)
    GUICtrlSetFont(-1, 10, 400, 0, "")
    GUICtrlSetColor(-1, 0xFFCAA5)
    $radio_3 = GUICtrlCreateRadio ("Festplatte", 16,80,90,20)
    GUICtrlSetFont(-1, 10, 400, 0, "")
    GUICtrlSetColor(-1, 0xFFCAA5)
    GUICtrlSetState ($radio_3, $GUI_CHECKED)
    ;
    $Lfw=GUICtrlCreateCombo ("", 110,80,40,20)
    ;
    $Group2 = GUICtrlCreateGroup("", 8, 120, 170, 70)
    ;
    $radio_4 = GUICtrlCreateRadio ("...nach Viren suchen", 16,140,160,20)
    GUICtrlSetFont(-1, 10, 400, 0, "")
    GUICtrlSetColor(-1, 0xFEADA2)
    $radio_5 = GUICtrlCreateRadio ("Online-Updates", 16,160,160,20)
    GUICtrlSetFont(-1, 10, 400, 0, "")
    GUICtrlSetColor(-1, 0xA0DCB0)
    GUICtrlSetState ($radio_5, $GUI_CHECKED)
    ;
    $Starten = GUICtrlCreateButton("Starten", 8, 200, 60, 20, BitOR($BS_FLAT,$WS_BORDER))
    $Beenden = GUICtrlCreateButton("Beenden", 120, 200, 60, 20, BitOR($BS_FLAT,$WS_BORDER))
    ;GUICtrlSetColor(-1, 0xA0DCB0)
    $var = DriveGetDrive( "FIXED" )
    ;
    If NOT @error Then
    For $i = 1 to $var[0]
    GUICtrlSetData($Lfw,$var[$i] & "|",$var[1])
    Next
    EndIf
    ;
    GUISetState(@SW_SHOW)
    ;
    While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Beenden
    ExitLoop
    Case $msg = $Starten
    $var1=""
    $var2=""
    If GUICtrlRead($radio_1) = $GUI_CHECKED Then
    $var1=" /list /floppy"
    ElseIf GUICtrlRead($radio_2) = $GUI_CHECKED Then
    $var1=" /List /cd"
    ElseIf GUICtrlRead($radio_3) = $GUI_CHECKED Then
    $wahl=GUICtrlRead($Lfw)
    $var1=" /list " & $wahl
    EndIf
    ;
    If GUICtrlRead($radio_4) = $GUI_CHECKED Then
    $var2=" /dis /del"
    ElseIf GUICtrlRead($radio_5) = $GUI_CHECKED Then
    $var1=""
    $var2=""
    If _IsCon()=0 Then
    TrayTip("Internet-Verbindung","OFF-LINE",2,2)
    $var2=""
    Else
    TrayTip("Internet-Verbindung","ON-LINE",2,1)
    $var2=" /update"
    EndIf
    EndIf
    ;
    Bdc_run($var1,$var2)
    EndSelect
    WEnd
    Func _IsCon()
    $IsCon=DllCall("WinInet.dll","int","InternetGetConnectedState","int_ptr",0,"int",0)
    Return $iscon[0]
    EndFunc
    Func Bdc_run(ByRef $var1,$var2)
    GUISetState(@SW_HIDE)
    RunWait(@ScriptDir &"\bdc.exe" & $var1 &$var2)
    GUISetState(@SW_SHOW)
    EndFunc

    [/autoit]

    mfg
    trallala

  • ein super programm.

    aber bei #NoTrayIcon den befehl TrayTip verwenden zu wollen ?

    ich würde #NoTrayIcon rausnehmen. war sicher auch nur temporär aufgenommen worden ?

    gruss exberliner

  • hi,

    ExBerliner

    1) das mit #NoTrayIcon ist wirklich nur temprär gewesen.

    2) exakt kann ich dir die frage wegen dem bdc.log nicht beantworten, nur soviel dazu - ggf. kann das log-file sehr lang werden - ob nur bei viren-fund oder generell jede gescannte datei protokolliert wird kann ich deswegen nicht so genau beantworten, weil ich habe bisher noch nie die erforderliche notwendigkeit gehabt, zu prüfen ob oder welche evt. befallende datei ihr unwesen treibt. also ruhig einfach mal die log einsehen.

    anmerkung: alle gefundenen viren werden farblich "rot" deren "desinfektion" oder wenn nötig "löschung" ebend "grün" in der console angezeigt - also nach abschluß des scannvorgang, sind gefundene viren entsprechend behandelt.

    mfg
    trallala

    Einmal editiert, zuletzt von trallala (19. Februar 2007 um 23:56)

  • wegen der bdc.log habe ich grad rausgefunden, dass das logfile vom bitdefender mit dem parameter /G erzeugt wird.
    hab also der variablen $var2 noch diesen parameter zugewiesen:
    If GUICtrlRead($radio_4) = $GUI_CHECKED Then
    $var2=" /dis /del /G"

    anscheinend richtet sich bitdefender anhand der bdc.ini nach dem logfilenamen (hier bdc.log).

    okay, das logfile wird entsprechend gross. aber ich hätte schon lieber ein log, darum nur zur erläuterung für andere. jeder halt, wie er mag. ;)

    edit: sehr hilfreich für mich war auch die function _IsCon() .. einfach super


    gruss exberliner

    Einmal editiert, zuletzt von ExBerliner (20. Februar 2007 um 00:40)