为什么免杀程序不报毒?( 二 )


五、免杀技术分类:
1、开源免杀:指在有病毒、木马源代码的前提下,通过修改源代码进行免杀 。
2、手工免杀:指在仅有病毒、木马的可执行文件(.exe)(PE文件)的情况下进行免杀 。
六、免杀手工分类:
1、文件免杀和查杀:在不运行程序的前提下使用杀毒软件进行对该程序的扫描,所得结果 。
2、内存的免杀和查杀:判断的方法1》运行后,用杀毒软件的内存查杀功能 。
3、用OD载入,用杀毒软件的内存查杀功能 。
七、免杀的特征码:
1、含意:能识别一个程序是一个病毒的一段不大于64字节的特征串 。
2、为了减少误报率,一般杀毒软件会提取多段特征串,这时,我们往往改一处就可达到免杀效果,当然有些杀毒软件要同时改几处才能免杀 。
3、特征码的查找方法:文件中的特征码被我们填入的数据(比如0)替换了,那杀毒软件就不会报警,以此确定特征码的位置 。
4、特征码定位器的工作原理:原文件中部分字节替换为0,然后生成新文件,再根据杀毒软件来检测这些文件的结果判断特征码的位置 。
八、免杀定位原理:
1、CCL(特征码定位器,由于杀软的升级,现已过时)
2、MYCCL(特征码定位器,由程序员Tanknight在CCL的基础上改进)
3、OllyDbg (特征码的修改,可用于动态反汇编 。注意:用它修改特征码时,要用OC转换成内存地址)
4、C32ASM(特征码的修改,也可用于静态反汇编)
5、OC(用于计算从文件偏移地址到内存地址的小工具)
6、UltaEdit-32(十六进制编辑器,用于特征码的手工准确定位或修改)
九、免杀修改类型:
特征码修改包括文件特征码修改和内存特征码修改,因为这二种特征码的修改方法是通用的 。所以就对流行的特征码修改方法作个总节 。
直接修改特征码的十六进制法:
1、修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制 。
2、适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下文件能否正常使用 。
修改字符串大小写法:
1、修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了 。
2、适用范围:特征码所对应的内容必需是字符串,否则不能成功 。
等价替换法:
1、修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令 。
2、适用范围:特征码中必需有可以替换的汇编指令 。比如JE,JNE 换成JMP等 。
如果对汇编不懂的偏移可以去查看8080汇编手册 。
指令顺序调换法:
1、修改方法:把具有特征码的代码顺序互换一下 。
2、适用范围:具有一定的局限性,代码互换后必须不能影响程序的正常执行
通用跳转法:
1、修改方法:把特征码移到零区域(指代码的空隙处)执行后,使用jmp指令无条件调回原代码处继续执行下一条指令
2、适用范围:通用的改法,建议大家要掌握这种改法 。
十、免杀的方式:
1、加冷门壳
举例来说,如果说程序是一张烙饼,那壳就是包装袋,可以让你发现不了包装袋里的东西是什么 。比较常见的壳一般容易被杀毒软件识别,所以加壳有时候会使用到生僻壳,就是不常用的壳 。去买口香糖你会发现至少有两层包装,所以壳也可以加多重壳,让杀毒软件看不懂 。如果你看到一个袋子上面写着干燥剂、有毒之类的字你也许就不会对他感兴趣了吧,这就是伪装壳,把一种壳伪装成其他壳,干扰杀毒软件正常的检测 。

推荐阅读