I have written a program (Mimer 1.1 -- http://sourceforge.net/projects/mimer/files/) and after 3000 downloads I found out that my own Nod32 Antivirus detects my program as a Win32/Agent.NFIWJLP trojan. My program has a c++ sub program that makes a system hook to watch the keyboard and mouse movements and events in the system (similar to a key logger but that's not what it's made for.) Does anyone recommend anything for me to do so that my program doesn't get deleted by the user's antivirus software. The thing that my program does is that it can mimic the user's interactions with the PC at a scheduled time. Thanks in advance.
Contact ESET and report the false alert. If a new version gets reported, do it again. The only way they'll learn.
As example, the AutoHotkey community has the same problem.
Edit:
I scanned DoNotRun.exe on Scan4You.net, and 9/32 AVs detect it. (see Report)
- ArcaVir
- Avira AntiVir
- COMODO Internet Security
- IKARUS Security
- Kaspersky Antivirus
- ESET NOD32
- A-Squared
- VBA32 Antivirus
It will take ages to contact all of them, but there are less alternatives. You could use a malware crypter to hide the file, but this won't last forever, or you could try changing your C source to omit detected parts.
Your best bet is to write an email to the authors of the antivirus and tell them its a false positive.
Most good antivirus companies react to this kind of emails by removing the detection. However if your program is detected by a signature written for another virus, you might have a difficult time persuading them to change their detection signatures or moving your program into their cleanset.
What you can do immediately is to somehow note to the users that your program might be detected by antiviruses as a virus. That way they will be warned and they can make sure it wont get deleted. If your program is opensource, than anyone can verify it does not do anything bad.
As well as contacting ESET it might be worth contacting some of the other antivirus vendors such as Avast, Kapersky etc.
If one program's picking it up the chances are that others will too.
You should contact ESET (the company behind NOD32) using their contact form. If you indicate that you are having a problem with Threat/Error Messages
, you can specify that you found a Harmless file flagged as threat
.
You can also try some methods such as packing your application with UPX or using an application such as Smart Assembly to reshape how the over all EXE is saved. Surely does not hurt to try
Anti-virus software use heuristics to determine whether a file is a virus or not based on its activities. A system hook on the keyboard and mouse would definitely show up as a flag.
I don't think you should pack your program because that would also raise a flag. Your software is open source, so you should just include a notice in the README telling users that some AVs detect it because of the system hook and give the line/file of where that code is located.