Giter Site home page Giter Site logo

comodo-antivirus-task's Introduction

Comodo-antivirus-task

You need to develop simple malware detector.

Scanner

Scanner is core component implemented as shared library (DLL). Scanner component must be able to:

  • Scan file by path

  • Scan array of bytes

  • Load signatures file

Implement appropriate methods in the scanner interface. Malware detection algorithm is the following:

if scanned file contains any of predefined byte sequences, it is considered infected. The sequences are stored in the regular text file separated by newlines, in the following format: HexString.{GUID}

Examples:

01ABEDFF55.{ab306a70-0fd2-4b4b-84fe-f9ebd899d90f}

EE21DEAD827739ACCD028FFC.{5c34b10f-3f6d-4bbb-b9ec-2faa1ee07660}

If appropriate sequence is found, scanner must return its GUID. Use file mapping to increase scanning performance.

Client

Client is UI or console application. Client application must be able to:

  • Uses Scanner component to recursively scan specific folder.

  • Scanning progress must be displayed.

  • Scanning must be performed in the thread pool (2 threads per CPU core).

Bonus tasks (optional)

  • Use modern C++11, C++14

  • Implement Scanner and Client as separate processes with an IPC.

  • Implement Scanner component as COM object in an in-process or out-of-process COM server using ATL. Use ATL classes in Client application.

  • Unit tests for Scanner classes.

You are free to refer to any documentation/internet etc.

Task estimated time: 1 โ€” 2 days.

Implemented

  • MS VC++ 2015

  • STL

  • NamedPipe

  • IoCompletionPort

  • Asynchrony and multithreading

  • Mapped files

Server

The Server.exe, Dll.dll, and Signatures.txt files must be in the same directory. The signature file must be in Ansi encoding.

Client

To scan, you must pass the path to the directory when starting. Example: "Client.exe C:\Windows".

Files are scanned: exe, dll, sys, drv, ocx, bat, bin, cmd, com, cpl, inf, pif, vb, vbe, vbs, vbscript, ws, wsf, dat.

Implementation time two days.

comodo-antivirus-task's People

Contributors

ridvoid avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.