i use adaware(download.com). i found it is easily the best spyware remover once it is tweeked. don't do the default run with it though(it doesn't catch everything). follow the following steps to remove the really bad stuff:
Open AdAware and select Start. First, uncheck the Negligible Items scan, as these aren’t a threat, and are often important files for the user. Next, select the third option of “Use Custom Scan Options”. Click Customize to the right of it. On the Scanning tab, ensure that all folders and options are checked and have a green check mark to the left. Select General from the left hand side and ensure the following changes are made:
1. Save Log-File – On
2. Quarantine Objects – Off
3. Safe Mode – On
Next, select Scanning and make sure everything is turned on.
Finally, select the Tweak tab on the left. Ensure the following options are on:
Scanning Engine
1. Unload Recognized Processes - On
2. Scan registry for all user – On
Cleaning Engines
Turn everything on.
Now click proceed. After checking for updates, feel free to start your scan with your Customize Scan selected. Once it is finished searching, right click in the list and check “Select All”. All objects will be selected, and now you can proceed to click next and delete them. Be sure to open the Quarantine Area by selecting the package at the top menu and ensuring there is nothing there. If there is, delete it and make sure your settings have Quarantining disabled.
edit: search for updates before you scan too