How To Make Antivirus Using C++ Programming Language

Posted on Feb 6 2013 - 11:08pm by cipherux

How To Make Antivirus Using C++ ?

There are many tutorials on the internet teaching you how to write virus programs that could destroy the basic configurations of any Operating System. But here at CodeMink, we’ll tell you how to make AntiVirus using C++. Although, you can write the code in any programming language of your choice, but we’ll focus the concept in C++.

 Also See :How to Make Antivirus Using Java Programming Language


What’s the focus Point?

The main point behind searching any virus is identifying the code structure of any virus file.

Suppose, we’ve found this following virus in computer,

Virus File: How to Make Antivirus in C++

Virus File: How to Make Antivirus in C++

Now we’ll see the Binary code of this file.

Simply open this file in your favorite text editor. I advise you to use Notepad++ for the purpose.

Upon opening the file, you’ll see all unknown characters in file. What you have to do is just concentrate on characters which are identifiable (consider the image below)

Virus exe File opened in Notepad++

Virus exe File opened in Notepad++

In the 1st line,
1st character = M
2nd character = Z

In 2nd line,
9th character = P
10th character = E

In 9th line,
3rd character = (
4th character = %


Take at least 10-12 character samples from the file and write then in text file in the following format:

Virus Database

Virus Database


Now this file will act us our virus Database. We can simply update this file and supply to the user for a better protection.


Let the Scanning Begin

Now, suppose we’ve to scan any user specified folder. Let’s write code in C++ for the same.

For doing this, we need to:

  • STEP 1: Get a list of all the files present in that folder including sub directories too.
  • STEP 2: Scan them one by one using the character sample we’ve collected above. If the characters at positions specified above are matched with those in files, then it would be tagged as “Infected”.
  • STEP 3: Delete the virus file, in case we find them.


Its Coding Time Now:

[cpp]/*The program written below is an exclusive property of
You are not allowed to copy/reprint it in any social media like:-
books, internet, blogs, etc. without the permission of its author.
Author: Lavneet Sharma
Release Date(dd/mm/yyy): 7/2/2013 */

#include <dirent.h>
#include <string.h>
#include <fstream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>

int scan_this(char *file_name)
char *pattern, *line_in_file;
char file_ch, ch;
int val, val2, flag;
ifstream fin3, fin4;; // incase the file is not accesible
if(!fin3) return 0;

else // file is accessible | 100% it is a file.
//Opening Virus Database File“db.txt”); // this is our character pattern file

if(!strcmpi(pattern,”End”))return -1;
else if(!strcmpi(pattern, “virus”))
if(flag) return 1;
else continue;
else if(!strcmpi(pattern,”LINE”))
fin4>>val; // got the line number

// skipping initial lines to reach the line number
for(int i=0;i<val-1;i++)
fin3.getline(line_in_file, 300);

fin4>>val; // got the character number
fin4>>file_ch; // got the character

//skipping initial character to reach the character

if(file_ch == ch) flag = 1; // matched.
else flag =0;
fin3.seekg(0); // set to start



void main()
char comm[300], dirpath[100], file_name[200];
char ask;
int response;
ifstream fin;

cout<<”Enter Directory you want to scan: “;

strcpy(comm, “dir “);
strcat(comm, “dirpath /b /s >tmp.$$$”);

fin.getline(file_name, 200);
response = scan_this(file_name);
if(response == 1)
cout<<”<–!! Caution.! A Virus has been Detected..!”;
cout<<”\nPress Enter Key to Delete it.”;
ask= getch();
if(ask == 13)
remove(file_name); // delete the virus

cout<<”Scan Complete.!! Thank You for using our anti virus”;


Note: You need to create its Executable (.exe) of this program before using it anywhere. To create Executable, simply save your program in any name and then press F9 twice.

Code Explanation Summary

The code written above has 1 major function as listed below:


It executes the DOS command within the c++ program. The command executed in the program is, dir /b /s >temp.$$$
This, command, lists all the file present in current working directory including sub directories and saves them in temp.$$$ file

and the rest is File Handling.

The complete explanation of this code will be provided in my next post. So, be updated @CodeMink.

So, that’s all on How to make antivirus using c++. For any further doubt or query, please feel free to comment below using the comment Box.

About the Author

c!pherux (pronounced as psy-frux, cipherux) is neither software engineer nor a developer. All he knows is "HOW TO CODE" and that's what he do.

28 Comments so far. Feel free to join this conversation.

  1. nilesh August 17, 2013 at 3:53 PM - Reply

    i want to develop the antivirus in c and .net,so please guide me for which type of knowledge i want to know and which type of articles have to read. please mail me on “[email protected]

  2. Neeru September 16, 2013 at 5:15 PM - Reply

    hello sir thanks for ur guidance sir i want to really learn that how can i make an anti virus /virus please sir
    reply me at “[email protected]
    i am waiting you…
    thanks a lot

  3. aryan rab September 18, 2013 at 3:41 PM - Reply

    i want to create a new antivirus but i don’t have any idea… how it is create . i need your help . first send me detail of anti virus programming and then i’ll learn . i know your guideline will be very good .so pleasssssssssss help me sir send me response in my email id : [email protected] ….i will remains great full forever to your help………..thanxxxxxxxxxxxxxx

  4. emman September 18, 2013 at 6:00 PM - Reply

    Sir can you please help me to create an antivirus … because this is serve as my case study report …

  5. Kudus October 16, 2013 at 4:44 PM - Reply

    Hello Sir, I want to know how to write any program using cplusplus programing language. I really need your sugestion and where to start from?. You can reach me through my email, thank you. Looking forward to your reply.

Leave A Response