自己写的程序被杀毒软件杀了怎么办?
我们先来看一下什么情况下一个文件会被认为是病毒?
1.调用了危险的系统功能;
杀毒软件一般会内置“行为模式”引擎,如果一个可执行文件调用了某些被杀毒软件认为是“危险”或者“可疑”的系统调用,那么比较容易被判定为病毒。这些可疑的行为包括且不仅限于“对系统文件的操作”、“对其他进程的操作”、“对特定注册表项的操作”等等。
现实生活中如果一个人在机场鬼鬼祟祟,行为可疑,肯定也会被拦下来仔细盘查。
2.使用了加密或者加壳等方式使得杀毒软件无法进行检测;
有些程序,并没有调用危险的系统应用,但因为防盗版或者反破解的需求,对自己进行了加密保护,这会导致部分杀毒软件无法对程序进行检测,好比一个人经过地铁安检口的时候坚决不肯对自己携带的旅行箱进行X光扫描,那么被安检人员认为是可疑人员是非常顺理成章的。
3.符合了其他恶意软件的条件;
现代的杀毒软件不仅仅只处理计算机病毒,对垃圾广告、欺诈钓鱼、黑客工具、外挂破解等等也会进行不同程度的处理,特别是有相关公司或者朝阳群众举报的情况下。
4.使用了危险的第三方开发工具/组件;
有时候虽然开发者自己并没有手写病毒,但是因为使用的第三方工具/组件本身被污染了,也会导致编译出来的程序是恶意代码,这样的话被杀毒软件检测到就不奇怪了。
类似经过海关的时候,帮陌生人携带了行李,这个行李里存放了毒品,这种行为也是构成违法犯罪的。
5.误报;
不可否认的是,防病毒软件始终未能(以后估计也很难)彻底解决误报的问题,可能是因为你的程序有一小段二进制代码刚好和某个病毒的变种符合,也可能是因为防病毒公司的人写特征的时候不小心疏忽,虽然概率不高,但出现被误报的情况还是存在的。
那么自己的文件被判定为病毒后,应该怎么处理呢?
1.自查;
请根据上述的情况对自己的代码和程序进行自查,也可以通过点击防病毒软件的报警信息进一步了解报警的详细原因,找到被判定为病毒的理由。
2.添加数字签名或放入白名单;
防病毒软件通常有一整套白名单机制来防止误报的出现,包括数字签名、用户白名单和投诉机制。数字签名是指开发者使用一个能唯一标识自己身份的密钥对自己的程序进行签名,从而使得防病毒软件可以识别出开发者的信息,类似于现实生活中的“无犯罪记录证明”,添加了合适数字签名的程序可以直接通过大部分杀毒软件的检测。或者用户可以手动添加白名单告诉杀毒软件某个程序是我可以信任的(类似业主打电话告诉门卫某人是我的访客)。如果上述方法都不行,还可以通过向防病毒软件厂商直接投诉的方法来避免被误报。
3.修改后缀、加密压缩传输;
如果临时有程序需要传输,又不愿意大动干戈去做白名单,可以简单地通过修改后缀名、加密压缩的方式避免被邮件系统的杀毒模块误删。