Develop and Implement a non-graphical component with Delphi that can use heuristic methods to detect all common forms of malware, such as viruses, dialers, trojans etc.
## Deliverables
Design and implement using Borland Delphi a non-visual component that can find using heuristic file analyzis methods (to be designed by you) all common forms of malware, such as viruses, trojans, dialers etc.
The component should have a very simple interface, such as
[login to view URL](Dir : String); would start the scanner with the given directory. The implementation must not use threads, threads will be used by the GUI.
The component must return its findings using event(s) and to give a percentage of which it feels that some file is harmfull.
The heuristic engine must contain a mechanism of ignoring know false positives somehow (for example based on the exact file size and some checksum of the file). And finally, the component must contain an Ignore List feature, that allows the user to exlude files and directories from the scan. For example, should the Ignore List contain "C:\Foo" and "bar", the scanner shall not access "C:\Foo" or any of its subdirectories, nor any files or directories whose name contain the word "bar".
However, the component does NOT have to scan inside zip, rar or any other compressed file formats. (But of course, it must be handle in some intelligent way executables compressed with some executable packer, like UPX)
I shall require the heuristic engine to have an efficency of at least 80%, and a maximum false positive rate of 20%. So for example, when the component is tested with a set of 1000 known viruses, it must detect at least 800 of them, and when testing it with test data of both known viruses and non-virus files, should the component find 100 potentially dangerous files, at least 80 of them must indeed be virus, trojan, dialer etc (as verified with e.g. [login to view URL]). If you wish to negotiate about these numbers, please do so before placing a bid.
And here's a little bonus:
Should you achieve efficency of at least 90% and a maximum false positive rate of 10% or less, I shall give you a RAC bonus of the size of your bid * 0,5.