If you get malware....spyware that records your keystrokes...youll y never know.
It comes disguised as anything.
It depends, sometimes you can spot it by looking at what processes are going (for Windows users that would be Task Manager) and if you don't recognize it. Can look to see if there is anything setup at a start up process (Windows users that would be MSConfig) as well that you don't recognize.
Some do hide from those programs as well. Can look at hardware usage if there is allocation of resources that can't be pinpointed with what processes do show up in aforementioned programs. Usually says something is on there.
But it can come from anywhere and even with "trusted" programs, those can be used as vectors as well and sometimes they affect 3 of the major desktop OSs. Why I don't suggest running Windows in an Admin account and certainly don't give programs su(do) rights (which any modern program worth their salt shouldn't need). Unix systems handle things a little bit better. Windows generally sacrifices security for convenience.
I get rid of the crap by resetting my unit back to the factory. It wipes out absolutely everything.
If it were to happen to me, I would just reinstall the OS, takes about 4-8 minutes (that's extracted, installing and reboot, but no, I'm not talking about Windows) and then just move my portable programs back on and create start menus for those programs (got bash scripts to automate it, I would be surprised if couldn't automate some of that with PowerShell).
Sometimes I miss the early 9x days, even though those versions were more prone to malware, could always boot into DOS and remove them that way since they weren't locked from uninstalling like they were when in GUI.