一、免杀的概念
什么是免杀?
免杀,即反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为 Anti-AntiVirus(简写 Virus AV),逐字翻译为'反 - 反病毒',即反杀毒技术。通俗来讲,是指一个被杀软报毒的 PE 文件,经过一系列处理后,使杀软不认为它是一个病毒或木马。
PE 文件
PE 文件指的是 Windows 操作系统上的程序文件,常见的有 exe, dll, sys, com 后缀的文件。PE 文件都有 PE 头和 MZ 标识。
主流免杀方式
目前主要有三种主流方式:特征码免杀、非特征码免杀和源码免杀。
- 特征码免杀:正在逐渐衰退,因为现代杀软主要倾向了 HIPS(主动防御)以及启发式扫描,特征码修改和定位越来越难。
- 非特征码免杀:难度更高,属于盲免。
- 源码免杀:通过修改源代码实现,能解决大部分免杀难题。
二、免杀系统搭建
进行免杀测试时,通常需要使用虚拟机或影子系统来隔离环境,以避免对主机造成损害。此外,需要配置相应的免杀工具包进行测试。
三、免杀工具介绍
以下是常用的逆向分析与调试工具:
- Myccl:一款定位工具,实用性高,稳定性好。
- C32asm:静态反汇编工具。用于定位特征码后修改,或结合源码免杀查看对应代码。
- OD (OllyDbg):动态调试神器。用于破解、免杀分析。做免杀不必精通汇编,通读几遍 x86 指令集即可。
- LordPE:功能强大的 PE 文件分析、修改、脱壳软件。可修改地址、查看区段及入口地址、查看和修改输入表、重建 PE 功能。
- ImportREC:傻瓜式的输入表重建工具,用于预处理。
- VC++6.0 / Visual Studio:编译开发环境。
- 数字签名:给软件加上数字签名,对启发式和主动防御有一定干扰效果。
四、关于杀毒软件排名不分前后
不同杀毒软件采用不同的查杀策略:
- 360:市场占有率高,多引擎组合(小红伞、BD、QVM 等)。QVM 为伪启发,常针对输入表、壳、入口点、资源进行检测。
- 金山毒霸:走云安全路线,断网后防护能力下降。
- 江民:主要针对特征码字符串和资源进行查杀。
- 瑞星:主要是主动防御拦截。
- 安天防线:纯特征码扫描。
- 卡巴斯基:误报低,查杀率高。特征码 + 输入表变态查杀 + 静动态启发式 + 强力的虚拟机脱壳技术。
- NOD32:主要盯资源和输入表,启发式较强,抗定位干扰能力强。
- 诺顿:主动防御较强,表面查杀一般。
- 小红伞、木伞:特征码定位抗干扰技术较好,启发式不错。
- BD (BitDefender):以全球最大的病毒库著名,HIPS+ 特征码 + 虚拟机 + 高启发。
五、杀软的查杀方法
- 最基础的查杀:特征码查杀。从病毒中提取不大于 64 字节的不大众化特征串,判断是否存在该字符串从而确定是否为病毒。
- 静态启发式:对整个软件进行分析,根据规则判断可疑性。证据越多,可疑性越高。
- 动态启发式:又称虚拟机查杀技术。模拟近似于 Windows 的系统,将程序丢进虚拟机里操作监视,越可疑越容易被定为病毒。
- HIPS (Host Intrusion Prevention System):主动防御。最后一道防线。检测软件运行时行为(如注册表操作、加载驱动),发现异常则拦截并挂起程序询问用户。


