http://www.cplusplus.com/forum/beginner/67634/
https://groups.google.com/d/topic/mingwusers/kFrCqECTY_Y
Along the same lines, it's rather common that keygens/cracks/patches are detected as false positives too:
http://underlore.com/anti-virus-community-creates-false-posi...
That is unavoidable if the scanning engine is trying to apply heuristics to pick up on attacks (or variants thereof) that are not in its database yet, especially with cracks and other patches: changing the behaviour of executables the way they do is by its nature similar to what viruses and worms are attempting to do.
1: Reflections on Trusting Trust: https://www.win.tue.nl/~aeb/linux/hh/thompson/trust.html
But now, the "attack surface" has expanded inexorably to the point where the alternative to AV appears to be... none.
So this just seems to be the modern Internet, where the average user is more or less at the behest of rackets not much better than the rackets that control botnets if they aren't actually infected by them.
I've heard some botnets patch the system and expel other intruders. Yes, now, "everything is free... infection and protection equally".
Is there an alternative?
The Windows security model is not the broken mess it once was when properly used so the key problem is user behaviour particularly home users running as full admin, installing random crap without thinking about it (or simply not knowing any better), just clicking through any warnings they do get, and so forth.
If enough of that sort of user migrates over to Linux and kicks it into working the way they want (i.e. the bad way they used to work under Windows) you'll no doubt see the number of effective exploits balloon massively.
Jeff Wayne's Martians were right: "The problem is, of course, the humans."
So I ran the app under the amazing API Monitor [1] and enabled logging for MoveFileA(), MoveFileW(), MoveFileExA(), MoveFileExW(), and similar "move file" APIs. It showed a failure on a MoveFileExW() call with the address of the call.
We'd found that Unity 5 didn't have the same problem (but we weren't ready to migrate to Unity 5 yet), so I also ran a Unity 5 test app under API Monitor and found the same failure on MoveFileExW(), along with several retries on the call until it succeeded. This told me just what I needed to patch the call for the Unity 4 app.
For the issue with AVG and wyUpdate, since wyUpdate is open source I just ran it under the debugger, and as luck would have it, the failing mutex.WaitOne() call was near the beginning of Program::Main() in the C# code [2].
(I mentioned WinMain() and CreateMutex() previously - I was writing that from memory and double-checked it now.)
[1] http://www.rohitab.com/apimonitor
[2] https://github.com/geary/wyupdate/blob/master/Program.cs#L40
A couple I've dealt with in the last six months:
McAfee Antivirus causes applications built with Unity 4 to fail when they call WWW.LoadFromCacheOrDownload() on a large asset bundle. This API call downloads a temp file and then renames the file to move it into the cache. But McAfee also opens the file for a virus scan. For a large file, the virus scan may not complete before Unity tries to rename the file, so the rename fails and you never get the asset bundle.
For one client I fixed this by patching Unity's .exe file to add a retry loop on the rename call. Unity 5 also works around this issue with the same retry loop.
AVG Antivirus causes updates to fail for applications that use wyUpdate. wyUpdate calls the CreateMutex() function in the Windows API to make sure another updater instance isn't already running. Bizarrely, when AVG is installed, CreateMutex() returns the wrong value, so wyUpdate thinks another instance is running and bails out. No updates for you!
Going back a few years, I tried NOD32 after some friends recommended it. It seemed fine, except the Alt+Tab key no longer worked. It was a known bug, unfixed for some time.
About 5-6 years ago, McAfee had a known bug - unfixed for nearly a year - than under some circumstances it would erase the entire hard drive. This was the ultimate in virus protection!