1. DELPHI 1.0生成的EXE是NE格式.NE格式是OS/2和Win3.1使用的
16位执行文件的格式.这种文件CIH肯定不能感染.
2. DELPHI 1.0以上版生成的都是真正的32位程序,是标准的PE格式.
3. 没有什么XE格式,理论上说CIH不应该对VC或M$有所偏爱.但是要
做这样的程序却也是可能的,而且难度不大.
4. 如果CIH确实不感染某些执行文件,可能是
1)这些文件已经被感
染,只是你在这种环境下不能发现;(2)这些文件中恰好包含CIH自
己的识别串,导致其认为这个文件已经被感染;(3)这些文件中段间
的空隙太小,不够CIH使用.
这里要特别说明(3):
由于CIH感染后的文件大小不变,所以它必须找到执行文件中足够的空
隙来安放自己才能进行感染.PE文件中,每个段都要对齐到一个指定的
边界.于是,在段的末尾就可能存在一定的空间让CIH安放自己.M$建议
段的边界对齐到512字节,于是,平均段间空隙有256字节.对于只有数
百字节的CIH,只要有3~4个段就很容易把自己插入这个执行文件中.
而用VC/DELPHI等编译的程序,都会超过4个段(至少要有:代码段,数据
段,资源段,引入段,一般都有重定位段和引出段,还可能有其他段).
VC应该忠实地执行了M$的建议,将段对齐到512边界,所以很容易感染病
毒.而DELPHI可能缺省将对齐边界定得比较小,这样的执行文件就不容
易感染病毒.