In my experience, it is generally difficult to completely get rid of malware once your system has been deeply infected.
Firewall can prevent outside contact, but to be able to use that effectively, you need to intimately know what applications you are using, and how they connect to internet...