杀毒与免杀技术详解之二:特征码定位-工具及原理
2015-08-21 23:09
423 查看
特征码引擎现在依然十分常见,家家户户都在用。
打开360杀毒,下面显示的4个引擎中,”系统修复引擎、小红伞引擎”都是使用特征码进行病毒查杀的,其余的也有用特征码进行辅助。可见,现在的杀软中,特征码查杀的方法依然占有不小的位置。
但是,特征码引擎有非常大的缺陷——容易被逃避。因为一般它只要见着特征码就报毒,如果我们把一份病毒分成很多份,就能根据报毒的文件,轻松定位出特征码的位置。那么只要稍作修改,特征码引擎就失效了。这就是我们今天要讨论的东西。
现在就进入正题了,这次我们来看看特征码定位的原理和方法。实际操作的部分,以后会有实战篇,我会录制视频进行操作,大家可以一起来实验。
(tips: CCL就是Characteristic code locator,特征码定位器)
以下是三种工具的简介:
我们先来看看MyCCL工具的使用介绍。
(tips:实验建议在虚拟机中做,毕竟网上的工具容易有毒。文章末尾有一个下载地址,测试可用。)
先看到主界面:
功能区就在右下这一小块,所以它并不难用。各参数说明:
文件路径(文件按钮左边的文本框): 要定位的文件路径
目录路径: 要存放MyCCL分块文件的目录
目录路径框右键点击: 可以选择TK.LOADER,以后进行内存免杀再详细讲
分块个数: 分块文件的个数
单位长度: 每次填充的字符长度
填充: 用某个十六进制字节数据填充,如:”00”、”FF”
开始位置&结束位置: 从某个位置开始/结束填充
分段长度: 填充字符的总长度
正向: 选择填充方向,从头到尾填充或者从尾到头填充
复合定位: 一般都用这项,可以定位多处特征码
单一定位: 只定位一个特征码
至于实际操作的流程,现在以一个小例子说明一下。
我现在这里有一个病毒样本,正好进行一个免杀实验,大家只要了解大概操作流程即可,往后会有更详细的讲解。
先四步走:
点击[文件]按钮,选择样本文件
点击[目录]按钮,选择分块文件存放目录
填写分块个数,建议在10-30之间,我们删除的时候方便,具体可以自己定
点击<生成>按钮,弹出的框都选’Yes’,生成第一批分块文件
效果如下图所示:
点击OK,我们已经生成成功了,可以用WinHex观察下各文件,原理在下一节有详细讲解。
我们再进行下一步——杀毒,就是用杀毒软件先扫描分块文件的目录,然后将报毒文件删除。
只要不是全部报毒,就说明可以定位。我们最好手动删除掉对应的文件,因为杀毒软件有时候是”修复”而不是”删除”。
(tips: 杀毒引擎最好设置成只有一个,多引擎查杀时不好定位)
接下来收点击”二次处理”,就能完成第一次粗略定位了:
然后我们点击特征区间,就能看到我们定位出来的特征码位置了。这时候我们应该再查毒,确定是否有第二个特征码的存在。如果再报毒,我们就再点击二次处理,一直循环到不报毒为止。
总结下,MyCCL特征码定位,整个操作流程就是:
Created with Raphaël 2.1.0启动MyCCL分块数量设置生成分块文件杀软扫描, 是否有毒删除报毒文件二次处理完成特征码定位yesno
我们这里做了一个模拟的”特征码文件”,用于演示”逐块暴露”特征码定位原理,”1111……”代表常规数据,”FF”代表假定的特征码:
将MyCCL的分块个数设置为3,MyCCL会将这个文件,用”00”(可以设置其它数值)填充,通过特定的办法分成三个文件。
第一批分块文件:
由上图可知,第一个文件暴露出前1/3的数据,其余都用00填充;第二个暴露前2/3的数据;最后一个全部暴露。根据这三张图可知,MyCCL是从头到尾暴露的,这种方式称为”正向”;还有从尾到头的方式,称为”反向”。
但是我们发现,这三个都含有特征码,那它如何能知道特征码的位置呢? 其实还要看”二次处理”!
将含有特征码的三个文件都删除掉,点击”二次处理”,生成第二批文件如下:
从这次就可以看出来了,它其实已经定位了一个大概的位置——第一行。因为第一批的三个文件都报毒,说明文件前1/3存在特征码。然后第二批的文件,就会把这部分填充掉,以定位其它特征码。
看到这里,已经能理解MyCCL的定位方法了。所谓的”逐块暴露”,就是”从上到下(反向也可)逐渐暴露,遇到特征码就将其填充,直到覆盖所有特征码”。
这次我们已经讲清楚了特征码定位的原理及操作流程(MyCCL为例),下次会讲如何修改特征码,并实战免杀几个引擎。建议大家在看的时候,自己认真理解、多实践,才能真正掌握。
学习特征码定位,可以让我们了解这一传统引擎是如何被击溃的,了解软件攻防的原理和技巧。看到这里,相信大家已经学到了不少。
让我们一起学习吧,下篇见!
MYCCL下载地址:
http://www.3987.com/xiazai/2/43/7325.html
打开360杀毒,下面显示的4个引擎中,”系统修复引擎、小红伞引擎”都是使用特征码进行病毒查杀的,其余的也有用特征码进行辅助。可见,现在的杀软中,特征码查杀的方法依然占有不小的位置。
但是,特征码引擎有非常大的缺陷——容易被逃避。因为一般它只要见着特征码就报毒,如果我们把一份病毒分成很多份,就能根据报毒的文件,轻松定位出特征码的位置。那么只要稍作修改,特征码引擎就失效了。这就是我们今天要讨论的东西。
现在就进入正题了,这次我们来看看特征码定位的原理和方法。实际操作的部分,以后会有实战篇,我会录制视频进行操作,大家可以一起来实验。
1.特征码定位工具
定位特征码有三款非常不错的工具:MyCCL、CCL、MultiCCL。(tips: CCL就是Characteristic code locator,特征码定位器)
以下是三种工具的简介:
工具名 | 功能说明 |
---|---|
CCL | 通过逐块填充的方式,定位特征码 |
MyCCL | 通过逐块暴露的方式,定位特征码 |
MultiCCL | 通过混合定位,先用二分法定位出特征码的粗略位置,再用逐位测试法测出具体位置 |
(tips:实验建议在虚拟机中做,毕竟网上的工具容易有毒。文章末尾有一个下载地址,测试可用。)
先看到主界面:
功能区就在右下这一小块,所以它并不难用。各参数说明:
文件路径(文件按钮左边的文本框): 要定位的文件路径
目录路径: 要存放MyCCL分块文件的目录
目录路径框右键点击: 可以选择TK.LOADER,以后进行内存免杀再详细讲
分块个数: 分块文件的个数
单位长度: 每次填充的字符长度
填充: 用某个十六进制字节数据填充,如:”00”、”FF”
开始位置&结束位置: 从某个位置开始/结束填充
分段长度: 填充字符的总长度
正向: 选择填充方向,从头到尾填充或者从尾到头填充
复合定位: 一般都用这项,可以定位多处特征码
单一定位: 只定位一个特征码
至于实际操作的流程,现在以一个小例子说明一下。
我现在这里有一个病毒样本,正好进行一个免杀实验,大家只要了解大概操作流程即可,往后会有更详细的讲解。
先四步走:
点击[文件]按钮,选择样本文件
点击[目录]按钮,选择分块文件存放目录
填写分块个数,建议在10-30之间,我们删除的时候方便,具体可以自己定
点击<生成>按钮,弹出的框都选’Yes’,生成第一批分块文件
效果如下图所示:
点击OK,我们已经生成成功了,可以用WinHex观察下各文件,原理在下一节有详细讲解。
我们再进行下一步——杀毒,就是用杀毒软件先扫描分块文件的目录,然后将报毒文件删除。
只要不是全部报毒,就说明可以定位。我们最好手动删除掉对应的文件,因为杀毒软件有时候是”修复”而不是”删除”。
(tips: 杀毒引擎最好设置成只有一个,多引擎查杀时不好定位)
接下来收点击”二次处理”,就能完成第一次粗略定位了:
然后我们点击特征区间,就能看到我们定位出来的特征码位置了。这时候我们应该再查毒,确定是否有第二个特征码的存在。如果再报毒,我们就再点击二次处理,一直循环到不报毒为止。
总结下,MyCCL特征码定位,整个操作流程就是:
Created with Raphaël 2.1.0启动MyCCL分块数量设置生成分块文件杀软扫描, 是否有毒删除报毒文件二次处理完成特征码定位yesno
2.特征码定位原理
我们这里也以MyCCL为例讲解下原理。我们这里做了一个模拟的”特征码文件”,用于演示”逐块暴露”特征码定位原理,”1111……”代表常规数据,”FF”代表假定的特征码:
将MyCCL的分块个数设置为3,MyCCL会将这个文件,用”00”(可以设置其它数值)填充,通过特定的办法分成三个文件。
第一批分块文件:
由上图可知,第一个文件暴露出前1/3的数据,其余都用00填充;第二个暴露前2/3的数据;最后一个全部暴露。根据这三张图可知,MyCCL是从头到尾暴露的,这种方式称为”正向”;还有从尾到头的方式,称为”反向”。
但是我们发现,这三个都含有特征码,那它如何能知道特征码的位置呢? 其实还要看”二次处理”!
将含有特征码的三个文件都删除掉,点击”二次处理”,生成第二批文件如下:
从这次就可以看出来了,它其实已经定位了一个大概的位置——第一行。因为第一批的三个文件都报毒,说明文件前1/3存在特征码。然后第二批的文件,就会把这部分填充掉,以定位其它特征码。
看到这里,已经能理解MyCCL的定位方法了。所谓的”逐块暴露”,就是”从上到下(反向也可)逐渐暴露,遇到特征码就将其填充,直到覆盖所有特征码”。
这次我们已经讲清楚了特征码定位的原理及操作流程(MyCCL为例),下次会讲如何修改特征码,并实战免杀几个引擎。建议大家在看的时候,自己认真理解、多实践,才能真正掌握。
学习特征码定位,可以让我们了解这一传统引擎是如何被击溃的,了解软件攻防的原理和技巧。看到这里,相信大家已经学到了不少。
让我们一起学习吧,下篇见!
MYCCL下载地址:
http://www.3987.com/xiazai/2/43/7325.html
相关文章推荐
- dp+trie nbut1222 English Game
- 递归
- HDU 2690 Boys and girls
- 王爽《汇编语言》第2版-----1、基础知识
- 剑指offer 不用加减乘除做加法
- 记录-使用CSDN-markdown编辑器
- HTTP协议简介
- uva 1318 - Monster Trap(bfs+暴力)
- 关于document.write
- 计算几何-经典算法-凸包
- 黑马程序员-JAVA基础之多线程
- android 单点登陆
- TLb和硬件Cache
- 数据结构之---C语言实现最短路径之Floyd(弗洛伊德)算法
- 如何制作 Objective-C 的UML图 [2]
- 宜昌IT软件资源汇总
- Andrew Ng的机器学习视频目录(from coursera, 2014)
- 2.1-apache配置静态缓存
- 【软件设计】六大设计原则讲解
- hdoj-1248【水&&floyd】