Jump to content

NoVirus AntiVirus


Influx
 Share

Recommended Posts

Well here it is its not finished, right now it currently detected 80% of viruses as GENERAL/TROJAN but that will be fixed when i have it check online for more info.

This was a quick database i put together containing about 6000 virus signitures, takes about 206 seconds to scan by all 6000 signatures, any way to speed this up?

Source + Database:

http://odpoa.com/NoVirus.zip

Feel free to submit lists or links to viruses here or in PM so i may add them if it does not already detect them (please try to give descriptions for themm all)

Feel free to give tips on how to speed this up.

(updated GUI thanks to ashley)

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****

#AutoIt3Wrapper_Version=Beta

#AutoIt3Wrapper_Icon=C:\Users\GoTTsProfeT\Downloads\counterstrike-3.ico

#AutoIt3Wrapper_Compression=4

#AutoIt3Wrapper_Res_Comment=NoVirus AntiVirus

#AutoIt3Wrapper_Res_Description=NoVirus AntiVirus

#AutoIt3Wrapper_Res_Fileversion=0.0.1.29

#AutoIt3Wrapper_Res_LegalCopyright=On Demand Programmers Of America

#AutoIt3Wrapper_Res_Language=1033

#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <EditConstants.au3>

#include <GUIConstantsEx.au3>

#include <StaticConstants.au3>

#include <WindowsConstants.au3>

#include <string.au3>





$GUI = GUICreate("No Virus", 562, 403)

GUISetFont(10, 400, 0, "Papyrus")

$Label1 = GUICtrlCreateLabel("No Virus", 216, 16, 133, 55)

GUICtrlSetFont(-1, 24, 400, 0, "Papyrus")

$Label2 = GUICtrlCreateLabel("Please select a file to scan! Either type the file path in the box provided below or click Browse", 8, 80, 545, 25)

$Filepath = GUICtrlCreateInput("", 16, 112, 345, 29)

$Browse = GUICtrlCreateButton("Browse", 376, 112, 75, 25, 0)

$Scanbutton = GUICtrlCreateButton("Scan File!", 464, 112, 75, 25, 0)

$Fileinfofeilds = GUICtrlCreateGroup("File info:", 16, 152, 529, 161)

$Filepathlable = GUICtrlCreateLabel("File path:", 32, 184, 490, 25)

$Filesizelable = GUICtrlCreateLabel("File size:", 32, 216, 490, 25)

$Virustypelable = GUICtrlCreateLabel("Virus type:", 32, 280, 490, 25)

$Filestatuslable = GUICtrlCreateLabel("File status:", 32, 248, 490, 25)

GUICtrlCreateGroup("", -99, -99, 1, 1)

$Scaninfofeilds = GUICtrlCreateGroup("Scan info:", 16, 320, 529, 65)

$Timetakenlable = GUICtrlCreateLabel("Time taken to preform scan:", 32, 352, 490, 25)

GUICtrlCreateGroup("", -99, -99, 1, 1)

GUISetState(@SW_SHOW)



If $cmdline[0] > 0 Then

    GUICtrlSetData($Filepath, StringRegExpReplace($cmdlineraw, '"', ''))

    ControlClick("No Virus", "", "Scanbutton")

EndIf



$flag = 0

While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg

        Case $GUI_EVENT_CLOSE

            Exit





        Case $Browse

            GUICtrlSetData($Filepath, FileOpenDialog("Select a File to Scan", @WorkingDir, "All Files(*.*)"))



        Case $Scanbutton

            ProgressOn("Scanning File", "Scanning Requested File", "Scanning " & GUICtrlRead($Filepath))

            $timer = TimerInit()

            $test = Binary(FileRead(GUICtrlRead($Filepath)))

            ProgressSet(40)

            $database = FileRead(@ScriptDir & "\database.viri")

            ProgressSet(46)

            $db = StringSplit($database, ";")

            ProgressSet(50)

            $xy = UBound($db) - 2

            For $i = 1 To UBound($db) - 2

                ProgressSet($i / $xy * 100 + 50)

                ConsoleWrite($i / $xy * 100 & @CRLF)

                $db2 = StringSplit($db[$i], "=")



                If StringInStr($test, _StringEncrypt(0, $db2[2], "odpoaviri"), 1, 1) Then



                    GUICtrlSetData($Filepathlable, 'File path: ' & GUICtrlRead($Filepath))

                    GUICtrlSetData($Filestatuslable, 'File status: Infected')

                    GUICtrlSetData($Virustypelable, 'Virus type: ' & $db2[1])

                    GUICtrlSetData($Filesizelable, "File size: " & FileGetSize(GUICtrlRead($Filepath)) & ' Bytes')

                    GUICtrlSetData($Timetakenlable, 'Time taken to preform scan: ' & StringLeft(TimerDiff($timer) / 1000, 10) & ' Seconds')

                    $flag = 1

                    ExitLoop

                EndIf



            Next

            ProgressOff()

            If $flag = 1 Then

                MsgBox(16, "Complete", "Scan Completed")

                $flag = 0

            Else

                GUICtrlSetData($Filepathlable, 'File path: ' & GUICtrlRead($Filepath))

                GUICtrlSetData($Filestatuslable, 'File status: Not infected!')

                GUICtrlSetData($Virustypelable, 'Virus type: N/A')

                GUICtrlSetData($Filesizelable, "File size: " & FileGetSize(GUICtrlRead($Filepath)) & ' Bytes')

                GUICtrlSetData($Timetakenlable, 'Time taken to preform scan: ' & StringLeft(TimerDiff($timer) / 1000, 10) & ' Seconds')

                MsgBox(64, "Complete", "Scan Completed")

            EndIf



    EndSwitch

WEnd
Edited by Influx
Link to comment
Share on other sites

Well here it is its not finished, right now it currently detected 80% of viruses as GENERAL/TROJAN but that will be fixed when i have it check online for more info.

This was a quick database i put together containing about 6000 virus signitures, takes about 206 seconds to scan by all 6000 signatures, any way to speed this up?

Source + Database:

http://odpoa.com/NoVirus.zip

Feel free to submit lists or links to viruses here or in PM so i may add them if it does not already detect them (please try to give descriptions for themm all)

Feel free to give tips on how to speed this ip.

Nice, but it`s very slow. :)

When the words fail... music speaks.

Link to comment
Share on other sites

encryption make like 0.0000001 difference, LOL its tr in str, and i have updated the database, i had a bunch of fault viruses falgging all kidns of shit, the new database only detects liek 10 viruses.

also yes this is being made in C++ but this is a prototype.

Viruses ect are appreciated, even just virus names/.

Edited by Influx
Link to comment
Share on other sites

  • Developers

...., the new database only detects liek 10 viruses.

Only a few more to go :)

Total Detections (Threats & Risks): 2892457

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

Here you go!

First impressions always count!(I should know, i made a bad one on these forums) If the file looks good and more professional its better!

So here my gui that i made for it!

I have kept everything the same(I.E fonts, and infomation given), Just made it look better, Exit boxes are ugly!

Database is included in the file.

The script file is bigger now only by a tiny bit tho. but it looks alot better!

Enjoy. If theres is anything else i can help with PM me :)

NoVirus_new_gui.rar

Link to comment
Share on other sites

I was wondering... speed wise, lets say it takes 300 seconds to scan a file by 6000 signatures in autoit.

Now if I wrote the same thing in C++ it might take... 4 or 5 seconds.

If I made the C++ code and turned it into a DLL and just called the DLL would it mean that autoit could therefore preform the scan and retreive the results from the dll in 4 or 5 seconds?

thanks,

influx

Link to comment
Share on other sites

yes it should be like that :)

Some Projects:[list][*]ZIP UDF using no external files[*]iPod Music Transfer [*]iTunes UDF - fully integrate iTunes with au3[*]iTunes info (taskbar player hover)[*]Instant Run - run scripts without saving them before :)[*]Get Tube - YouTube Downloader[*]Lyric Finder 2 - Find Lyrics to any of your song[*]DeskBox - A Desktop Extension Tool[/list]indifference will ruin the world, but in the end... WHO CARES :P---------------http://torels.altervista.org

Link to comment
Share on other sites

hah.... I have no idea how to replicate the splitting and comparison of stings in C++ and then make it in to a DLL or how to even call off that DLL although for someone who knows C++ such a task doesn't seem as if it would be so hard. (I am still learning) so could someone please make a .dll and share the source so I can expand my knowledge?

thanks,

Influx

Edited by Influx
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...