引言
题目中所说的,是在我的高中曾“广为流传”的一个病毒,由于当时学校电脑系统都是老旧的 Win XP 系统,而且缺乏安全软件保护,随着优盘的插拔,这一病毒几乎遍布了学校的每一台教室电脑……我曾在分析代码后写了个简单的防病毒脚本,用在自己班级的电脑上,直到今天终于写了这篇博文,简单地分析该病毒及其预防原理。
病毒分析
代码结构
该病毒的代码共 3284 行,分为三部分:
- 前 1301 行,除了 4 行头部声明外,都是大量的常量和函数,方便病毒主体调用(PS: 虽然大部分都没有用到)。
- 第 1302 至 2883 行(共 1582 行),是一个巨大的字符串变量,看样子使用 Base64 编码过,解码出来是一个外国小伙计的照片……说不准就是这病毒作者。(文末放出原图)
- 第 2884 至 3284 行(共 401 行),是病毒主体,接下来将详细分析这一部分。
未完待续
未完待续……(哦天哪我实在是太懒了!)
防病毒脚本
当然,既然了解了病毒运行过程,我们本来可以直接删除病毒本身和全部启动项,但考虑到在学校里,可能还会有无数不明真相的人用优盘协助病毒传播,我们也可以根据病毒特点写一个防毒脚本,阻止其运行。
前面已经说过,病毒在开始运行时会试图创建一个名为 “googleupdate” 的互斥体,因此,我们只需以其人之道还治其人之身,写一个文件名相同的脚本,在创建这一互斥体后常驻内存,即可永远防止病毒的运行。
为方便大家使用,未编译的源代码已经上传至我的 GitHub:
附:外国小伙计的照片
这就是解码出的原图了,看得出该作者十分不细心,甚至连图片的EXIF都没有删,从中我们得知:该图片于2014年1月3日20:39:42由三星Galaxy S4(GT-I9500)手机使用夜景模式拍摄,并在1月15日13:53:20使用Adobe Photoshop CS Windows修改过,又由于照片时区为西五区,作者很可能是美国东部或加拿大东部人,不过我们难以获得更多的信息。