Ja? Ich konnts ja gar nicht sehen weil ich keine GUI habe.
BadBlaster - Ein AutoIt Virenscanner + Cleaner + Active Guard mit großer Datenbank
-
campweb -
16. August 2011 um 03:03
-
-
Hast du die BadBlaster.au3 gestartet? Nicht die ActiveGuard.au3/exe starten. Dann müsste ne GUI kommen
MfG, campweb
-
Die unverwundbarkeit würde mich auch interesieren, kannst mir den code per PN zukommen lassen ?
-
Die wird in der nächsten Version eingebaut, dann kannst du es dir anschauen.
MfG, campweb
-
Hast du die BadBlaster.au3 gestartet? Nicht die ActiveGuard.au3/exe starten. Dann müsste ne GUI kommen
Wie soll das jemand starten wenn es sich nicht compilieren lässt, es fehler Include-Files.
Und schon aus dieser Nachlässigkeit würde ich so einem Produkt nie vertrauen! Was ist wenn sich an anderer wichtiger Stelle Fehler eingeschlichen haben? Zum Beispiel in der Schleife in der du
[autoit]_RunDOS ('DEL ' & '"' & $parameter & '" /F /Q')
[/autoit]aufrufst,
mfg autoBert
-
Bei mir reichen die Includes vollkommen aus ?
Und es ist ja nur ein "Hobby" Projekt und kein kommerzeielles AV
MfG, campweb
-
Hallo cambweb,
es lässt sich nicht starten:
Code
Alles anzeigenC:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(237,27) : WARNING: $hProgress: possibly used before declaration. GUICtrlSetData($hProgress, ~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(239,30) : WARNING: $hProgressLBL: possibly used before declaration. GUICtrlSetData($hProgressLBL, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(352,26) : WARNING: $Progress: possibly used before declaration. GUICtrlSetData($Progress, ~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(353,29) : WARNING: $ProgressLBL: possibly used before declaration. GUICtrlSetData($ProgressLBL, ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(355,23) : WARNING: $Quit: possibly used before declaration. GUICtrlSetState($Quit, ~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(383,23) : WARNING: $SObj: possibly used before declaration. GUICtrlSetData($SObj, ~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(415,25) : WARNING: $SSObj: possibly used before declaration. GUICtrlSetData($SSObj, ~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(420,28) : WARNING: $SSObjQua: possibly used before declaration. GUICtrlSetData($SSObjQua, ~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(421,34) : WARNING: $ScanGUI: possibly used before declaration. GUISetState(@sw_hide, $ScanGUI) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(426,29) : WARNING: $SSObjDel: possibly used before declaration. GUICtrlSetData($SSObjDel, ~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(533,22) : WARNING: $l: possibly used before declaration. if @error then $l=$l+ ~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(536,12) : WARNING: $ob: possibly used before declaration. $ob=$ob+ ~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(537,47) : WARNING: $zaehl: possibly used before declaration. GUICtrlSetData($Progress, round($ob/$zaehl* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(539,11) : WARNING: $d: possibly used before declaration. $d=$d+ ~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(540,11) : WARNING: $s: possibly used before declaration. $s=$s+ ~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(543,11) : WARNING: $o: possibly used before declaration. $o=$o+ ~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(210,66) : WARNING: $hProgress: declared global in function only. Prefer top of file. Global $hProgress = GUICtrlCreateProgress(5, 65, 546-120-10, 20) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3(417,86) : ERROR: _NowCalc(): undefined function. FileCopy ($parameter,$backuppath & StringReplace(StringReplace(_NowCalc () ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Downloads\CampWeb\BadBlaster\BadBlaster.au3 - 1 error(s), 17 warning(s) !>21:15:48 AU3Check ended.rc:2 >Exit code: 0 Time: 2.100
und der Fehler mit _NowCalc ist definitiv auf das fehlen von #Include <Date.au3> zurück zu führen,
Edit: chip hat diesen Fehler schon gemeldet: BadBlaster - Ein AutoIt Virenscanner + Cleaner + Active Guard mit großer Datenbank
mfg autoBert -
Ja, ich ändere das Mal, komisch dass es bei mir und anderen funktioniert...
MfG, campweb
-
So, Include hinzugefügt.
MfG, campweb
-
Also ändere ich 1 Byte in der exe meines Virusses (wodurch die MD5 Checksumme sich verändern sollte) und ich hab dein AV ausgetrickst.
-
Eine andere Methode ist in AutoIt für mich leider nicht in Frage gekommen. Aber so leicht mit 1 Byte ändern ist das nicht mit der MD5
MfG, campweb
-
- Offizieller Beitrag
Schon ein geändertes Bit in der Eingabe kippt im Mittel die Hälfte aller Bits in der Ausgabe (=MD5-Hash). Von daher reicht das zum Austricksen eines solchesn Systems immer aus ;).
Johannes
-
Füg ich in einer Codecave einfach ein paar 0x90 ein und schon hab ich dein Programm ausgetrickst.
SchönDie wohl sicherste Methode ist, das Programm an sich auf schädliche API Calls zu überprüfen, bzw. das Verhalten zu analysieren.
-
Eine andere Methode ist in AutoIt für mich leider nicht in Frage gekommen. Aber so leicht mit 1 Byte ändern ist das nicht mit der MD5
MfG, campweb
wieso wenn er der Author ist kann er doch sein Skript ändern, und wenn es nur eine hinzugefügte Leerstelle im Fenstertitel ist. Geänderter Code gibt nach kompilieren eine neue MD5-Checksum,
Edit: Pee & penguin waren schneller
mfg autoBert
-
wieso wenn er der Author ist kann er doch sein Skript ändern, und wenn es nur eine hinzugefügte Leerstelle ist. Geänderter Code gibt nach kompilieren eine neue MD5-Checksum,
mfg autoBert
Man muss nicht zwingend der Autor vom Script sein
-
ich hab deinen Hausmeister ausprobiert,
laut deinem Skript müsste er den Inet-Verlauf löschen,
tut er aber nicht bei mir...liegts vllt an meim pc? (win vista 32)
-
Ist dein Browser zufällig eine aktuelle Version von Firefox? Das ist mit nämlich mal mit dem CCleaner passiert, der löschte auch keinen Verlauf von Firefox mehr, da die ganzen Daten anscheinend in einem anderen Verzeichniss als in den frührern Versionen gespeichert werden.
-
wenn ich das tool starte, dann bekomme ich einen autoit error - > line 5795
mich würde brennend interessieren wie du (so versteh ich es zumindest)
autoitcode der nicht nativ kompiliert ist zumlaufen bekommst ? so weit ich weiss, geht das gar nicht.edit: $aProcess[$iPID][4] = $objItem.PercentProcessorTime -> G:\Spiele\test123\ActiveGuard.au3 (422) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$aProcess[$iPID][4] = $objItem.PercentProcessorTimeEDIT2:
ohne es wirklich testen zu können noch ein tipp. du solltest nicht den ganzen md5 als signatur nehmen. sonst stößt du schnell an performance - grenzen wenn du 100 mio. hashwerte einträgst. besser wäre gewisse breiche aus dem ram zu dumpen und darauf md5 anzuwenden. ... ist natürlich die frage wie man eine datenbank sinn füllt, denn du müsstest alles von hand machen....
auch packer zu erkennen wäre nötig ... da könnte ich dir mit einer signatur-datenbank dienen. selbige entpacken zu lassen, wäre eigentlich nötig um die erkennung sicherzustellen ... aber schreib mal einen generic entpacker ... oder überhaupt erstmal einen
jetzt weisst du auch warum die antiviren-hersteller so viele leute beschäftigen.Code
Alles anzeigenG:\Spiele\test123\BadBlaster.au3(238,27) : WARNING: $hProgress: possibly used before declaration. GUICtrlSetData($hProgress, ~~~~~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(240,30) : WARNING: $hProgressLBL: possibly used before declaration. GUICtrlSetData($hProgressLBL, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(353,26) : WARNING: $Progress: possibly used before declaration. GUICtrlSetData($Progress, ~~~~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(354,29) : WARNING: $ProgressLBL: possibly used before declaration. GUICtrlSetData($ProgressLBL, ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(356,23) : WARNING: $Quit: possibly used before declaration. GUICtrlSetState($Quit, ~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(384,23) : WARNING: $SObj: possibly used before declaration. GUICtrlSetData($SObj, ~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(416,25) : WARNING: $SSObj: possibly used before declaration. GUICtrlSetData($SSObj, ~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(421,28) : WARNING: $SSObjQua: possibly used before declaration. GUICtrlSetData($SSObjQua, ~~~~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(422,34) : WARNING: $ScanGUI: possibly used before declaration. GUISetState(@sw_hide, $ScanGUI) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(427,29) : WARNING: $SSObjDel: possibly used before declaration. GUICtrlSetData($SSObjDel, ~~~~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(534,22) : WARNING: $l: possibly used before declaration. if @error then $l=$l+ ~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(537,12) : WARNING: $ob: possibly used before declaration. $ob=$ob+ ~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(538,47) : WARNING: $zaehl: possibly used before declaration. GUICtrlSetData($Progress, round($ob/$zaehl* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3(540,11) : WARNING: $d: possibly used before declaration. $d=$d+ ~~~~~^ G:\Spiele\test123\BadBlaster.au3(541,11) : WARNING: $s: possibly used before declaration. $s=$s+ ~~~~~^ G:\Spiele\test123\BadBlaster.au3(544,11) : WARNING: $o: possibly used before declaration. $o=$o+ ~~~~~^ G:\Spiele\test123\BadBlaster.au3(211,66) : WARNING: $hProgress: declared global in function only. Prefer top of file. Global $hProgress = GUICtrlCreateProgress(5, 65, 546-120-10, 20) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ G:\Spiele\test123\BadBlaster.au3 - 0 error(s), 17 warning(s)
-
Kann mehrzeiligen AutoIt Code ausführen
[autoit]
Wäre so jedenfalls besser als mit einem Loop über alle Zeilen einzelnd, die dann mit Execute ausgeführt werden:
[/autoit]
FileWrite(@TempDir & '\au3code.au3', $Code)
RunWait(StringFormat('"%s" /AutoIt3ExecuteScript "%s"', @AutoItExe, @TempDir & '\au3code.au3'))
FileDelete(@TempDir & '\au3code.au3')Weil
Spoiler anzeigen
[autoit]$Code = ''
[/autoit] [autoit][/autoit] [autoit]
$Code &= '$sText = "Hallo"' & @CRLF
$Code &= '$sText &= " " & @UserName' & @CRLF
$Code &= 'MsgBox(0, "", $sText)'; Funktioniert:
[/autoit] [autoit][/autoit] [autoit]
FileWrite(@TempDir & '\au3code.au3', $Code)
RunWait(StringFormat('"%s" /AutoIt3ExecuteScript "%s"', @AutoItExe, @TempDir & '\au3code.au3'))
FileDelete(@TempDir & '\au3code.au3'); Funktioniert nicht:
[/autoit]
$aCode = StringSplit($Code, @CRLF, 3)
For $i = 0 To UBound($aCode) - 1
Execute($aCode[$i])
Next -