none
Making a heuristic antivirus scan in vb 2010 express.

    Question

  • Dear Visual Basic Forum,

    We, Bob and Bean, are new to this programming language but have had some experience in VBscript, HTML, and MS-DOS. We want to make an antivirus in Visual Basic express 2010. Please explain all the commands because we would like to learn how to use them. Designer screenshots would also be appreciated.

    We also would like to have real-time scanning, if possible, and scanning from the right-click menu, if that too is possible. Thanks for your help.


    Sincerely, Bob and bean


    Saturday, July 13, 2013 10:53 PM

Answers

  • This is not an appropriate application for managed code.

    An antivirus program needs to execute much closer to the OS than what a VB.Net application executes; it is one of the few scenarios where you do not want a layer of managed code in between your application and the operating system.  This is a job for C++ and Windows API.

    You might write the front-end of your application (the GUI that the user utilizes to configure scans and view reports) in VB.Net; that would be appropriate because you'd be creating an interactive GUI that works with a data repository of some kind.  But the back-end virus scanning service would be written in C and would simple use the same data repository as the GUI.

    All that said, as IronRazer stated, there is simply far too much in the .Net framework for someone to list all of the classes one might use during the development of any large-scale application.  You can use these forums to ask for design suggestions and perhaps get a recommendation on namespaces or reference assemblies to look into, or you can use them to get specific help on a particular class that you are trying to use.  But it is not reasonable to ask for someone to list all of the commands needed to make an application and include screen shots - that would essentially require writing the entire application for you.  While this is sometimes feasible for very simple application requests, it is not possible with any large-scale or complex application.


    Reed Kimble - "When you do things right, people won't be sure you've done anything at all"

    • Proposed as answer by IronRazerz Sunday, July 14, 2013 6:03 PM
    • Unproposed as answer by Visual Bobic Wednesday, July 17, 2013 11:23 PM
    • Marked as answer by Visual Bobic Thursday, July 18, 2013 11:31 PM
    Sunday, July 14, 2013 5:52 PM

All replies

  • Hi,

     You do realize that there are many thousands of different ways to use all the different classes and there properties and methods? Not to mention all the API`s and other stuff that would be involved. If you are just getting started with VB.NET you could look threw the msdn pages on the VB language. There are also many books out there for the VB.NET language too.

    Visual Basic Language Reference

    Visual Basic .NET Language Specification

    Visual Basic getting started and other links

    I will not say it can`t be done in VB.NET but, from what i understand you would be a lot better off doing this type of program in C++ instead of VB.NET.  Also, unless you have code you have made and have a specific problem you need help with then i doubt that anyone is going to explain everything that would be involved in this and write such a complex piece of code for free.  :)

    Sunday, July 14, 2013 12:49 AM
  • Use the file system watcher to monitor all file activity, that's easy. Then add a function to determine if the file being opened has a virus. For real time scanning, add this all to a service and/or the appinit dll section of the registry. Oh, and don't use vb net, use Assembly Language, from the samples on your site, that should be a simple change.

    Sunday, July 14, 2013 3:41 AM
  • Hi, everybody!

    I've started this discussion because I want to know (and I'm sure others do too) how to develop the scanner of an anti-malware program. I know how to make a very basic and untrustworthy one in MS-DOS using findstr, but I really want to know how. Here, I'm aiming to discuss how to make a real-time scanner and right-click menu scan. I also want to know the code for the scanning engine (What detects the malware) USING HEURISTICS!!!!! I can't keep up a huge virus-signature database like Norton or McAfee. I hope here to see answers, and other people optimizing other people's work. also show how to make the program list the malware in a listbox like this:

    Type                    |Found in                            |Found at scan %|[/\]

    Trojan                       |C:\Trojan\Trojan.exe        | 20                      |[  ]

                                |                                         |                           |[\/]

    Thanks!


    • Edited by Visual Bobic Sunday, July 14, 2013 4:45 PM
    • Merged by Reed KimbleMVP, Moderator Sunday, July 14, 2013 6:29 PM discussion is off topic per reponses to previous question on same topic
    Sunday, July 14, 2013 4:44 PM
  • Hey, everybody, I only have VB.NET. Can you please tell me how to do it in VB.NET?????

    +I SAID I WAS A BEGINNER!!!

    registry?

    Assembly?

    dll?

    File system watcher?

    Well thanks for answering at least... but I need it in VB.NET windows forms application.

    Sunday, July 14, 2013 5:23 PM
  • This is not an appropriate application for managed code.

    An antivirus program needs to execute much closer to the OS than what a VB.Net application executes; it is one of the few scenarios where you do not want a layer of managed code in between your application and the operating system.  This is a job for C++ and Windows API.

    You might write the front-end of your application (the GUI that the user utilizes to configure scans and view reports) in VB.Net; that would be appropriate because you'd be creating an interactive GUI that works with a data repository of some kind.  But the back-end virus scanning service would be written in C and would simple use the same data repository as the GUI.

    All that said, as IronRazer stated, there is simply far too much in the .Net framework for someone to list all of the classes one might use during the development of any large-scale application.  You can use these forums to ask for design suggestions and perhaps get a recommendation on namespaces or reference assemblies to look into, or you can use them to get specific help on a particular class that you are trying to use.  But it is not reasonable to ask for someone to list all of the commands needed to make an application and include screen shots - that would essentially require writing the entire application for you.  While this is sometimes feasible for very simple application requests, it is not possible with any large-scale or complex application.


    Reed Kimble - "When you do things right, people won't be sure you've done anything at all"

    • Proposed as answer by IronRazerz Sunday, July 14, 2013 6:03 PM
    • Unproposed as answer by Visual Bobic Wednesday, July 17, 2013 11:23 PM
    • Marked as answer by Visual Bobic Thursday, July 18, 2013 11:31 PM
    Sunday, July 14, 2013 5:52 PM