加壳器(Cryptor)是一种专门用于隐藏病毒文件、绕过杀毒软件检测的程序。即使黑客制作好了木马或恶意程序,也很难直接在受害者电脑上运行,因为大多数安全软件会立刻识别并拦截它。而加壳器的作用,就是帮助病毒“伪装”自己,从而避开安全检测。
加壳器的工作原理:
加壳器通过将原始恶意程序加密,并在前面加上一段“壳代码”。当用户运行这个被加壳的文件时:
- 先执行“壳”代码;
- 由壳代码解密真实的恶意程序;
- 然后运行被隐藏的病毒本体。
这就像是把毒药藏在糖果里,外壳看似无害,杀毒软件就不容易检测出来。
一个简单的例子是——使用加密压缩包(带密码的 ZIP 或 RAR)分发病毒,由于无法提前解密,杀毒软件就可能查不到其中的恶意文件。
加壳器的缺点:
虽然加壳器能暂时绕过检测,但杀毒软件厂商会:
- 将加壳器的“壳代码”加入病毒库;
- 也就是说,即使加密后的文件内容不同,但只要“壳”是相同的,也会被识别为恶意。
尤其是广泛使用的加壳器(例如某个免费工具被广泛用于加壳病毒),很快就会被各大杀毒软件加入特征库,“壳未露,身份先暴露”。
加壳器的分类:
1. 按检测率分:
- semiFUD(半隐匿型)
“FUD” 是 “Fully Undetectable”(完全不可检测)的缩写。semiFUD 指的是可以绕过部分杀毒软件,但不能做到完全免疫。 - FUD(全隐匿型)
指完全避开所有主流杀毒软件检测的加壳器。这类加壳器通常使用独有代码,未被收录进任何病毒库,但生命周期有限——一旦泄露或使用过于频繁,也会被加入黑名单。
2. 按结构分:
- Stub型(壳体独立型)
这类加壳器由两部分组成:- 主程序:负责加密;
- Stub(壳体):独立存在,负责解密和运行被加密的程序。这种结构的优点是:可以批量给不同病毒加壳。
缺点是:一旦Stub被上传到 VirusTotal 等公开分析网站,所有使用该Stub加壳的病毒都会在短时间内暴露。
- Polymorphic(多态型)
这是高级加壳技术。每次加壳都会生成不同的代码结构、调用不同的 API、插入随机的无害指令,使得每一个病毒文件都具有“唯一性”。
这种方式能显著延长被杀毒软件识别的时间,但需要作者不断维护更新。
总结:
| 类型 | 检测率 | 特点说明 |
|---|---|---|
| semiFUD | 中等 | 绕过部分杀软,容易暴露 |
| FUD | 低 | 几乎完全隐匿,成本高 |
| Stub型 | 中等 | 壳体复用,易被识别 |
| Polymorphic | 很低 | 每次加壳都不同,隐匿性极强 |