Quib Mask
An Insightful Genius (whatever the snot that is)
Posts: 491
First off, you probably don't have a real virus, meaning, executable code that attaches itself onto executable files so it executes when you run that program, and the code itself copies itself onto other executables, some virii even spreading to every executable file on your computer. This type of virus practically doesn't exist anymore. In like 1996 or so I got the Natas virus from a floppy disk my father brought home from work. That was annoying.
Because that type of virus is nearly extinct, the general populous has expanded the term to include most self-replicating malicious software. You more than likely have a small program that has possibly copied itself to several different folders and is using one of a handful of different methods to execute each time your computer is started up. When you try and terminate the program, another copy of itself that's running just restarts that instance, and if you try and delete the file it's either already in use or just gets recopied to there an instant later. Trying to remove the registry entry just results in it getting put back moments later. Stop me if I'm wrong here, but this is what most people get.
Another common type is a program that installs itself as a BHO for Internet Explorer, though I don't think I've heard of one that hijacks AIM before.
There is basically no modern malware that can't be gotten rid of. They don't try and destroy your computer, because then they wouldn't reproduce, and they'd be self defeating. Some simply collect information, others spam you with advertisements, and yet others set you up as a proxy or drone to be used in a DOS attack.
First, try Ad-aware or Microsoft AntiSpyware. If you're not totally computer illiterate, HijackThis is a great utility for removing most malware.
Formatting is the fools way out.
QM
P.S. - Firewalls also monitor when a local program starts using or listening on a certain port. This is useful for when randomname.exe starts listening on port 6969 for commands from some remote user.