免杀学习
2013-07-14 00:30
417 查看
杀毒软件查杀原理
要进行免杀,首先要知道杀毒软件是怎样把你的程序鉴定为病毒,才能够找到正确的方法进行免杀工作。杀毒软件一般根据下面几种方法进行查杀:1. 特征码:
杀毒软件通过提取已有病毒中的一些特征二进制码,并将该特征码保存在病毒库中,查杀时再将其与被查杀程序一一比较,如果找到这些特征码,被查杀程序将被鉴定为病毒。杀软保存的特征码一般包括两部分:一段二进制码和这段特征码所在偏移地址。
根据这种查杀原理,我们的免杀工作就很清晰了,只要将我们程序中被鉴定为病毒的特征码部分找出来,修改其二进制码或转移位置就行了(前提是修改后的程序依然可运行且逻辑正确)。
2. 行为监测:
杀毒软件通过监控程序的API调用来解读程序的行为,并进行加权处理,当加权值达到一定数值后,被监测程序将被报为病毒。比如一个下载程序,是不会被报为病毒的,但是如果这个程序的行为是下载另外一个程序并运行该程序,类似这样的行为组合,杀毒软件就很有可能将其鉴定为病毒了。加权值是指行为及行为组合的可疑指数。
根据这种查杀原理,我们的免杀工作就是如何去隐藏我们的行为了。
3. 软件模拟:
这种方法主要是利用虚拟技术,在虚拟机中模拟程序的运行并监控程序行为,一旦发现可疑行为,就将其报为病毒。这种方法主要弥补行为监控中对付隐蔽行为的不足。(这种方法不是特别了解,不做过多论述)
免杀方法
1. 免杀分类:1) 内部免杀和外部免杀。
内部免杀指,通过特征码定位后返回到原代码上进行修改
外部免杀指,通过特征码对PE文件进行修改
2)文件免杀和内存免杀
文件免杀指,文件未被加载入内存运行的免杀
内存免杀指,文件被载入内存运行的免杀
文件免杀和内存免杀都是基于对PE文件的修改
2. 免杀方法
1) 添加数字签名,发现这种方法的文件免杀对金山杀毒软件特别有效
2) 添加壳,一般添加偏僻壳,因为杀软要知道所加是什么壳才能够解析压缩过的代码。而一般对壳的识别都是根据EP即入口处的一段特征码来辨别所加的壳类型,所以我们可以修改这段特征码,来让杀软不知道我们所加是什么壳,也就无法解析我们的代码来。通常采用加花或者是以后等简单修改就行。
3) 等价替换
4) 颠倒代码顺序
5) 通用跳转
6) 加空格免杀输入表文件名
7) 移动ASCLL特征码,或修改其大小写
8) 移动输出表函数特征码
9) 利用异或加密或者重写入
10) 移动PE文件头
附加信息
1. 什么是启发式扫描:就是给各种威胁计算机安全的代码进行加权,当杀毒软件对某个文件的加权值达到60分后,就将该文件判定为病毒文件。
2. 什么是隐藏特征码(干扰码):一般分成两部分:一个是隐蔽的特征码,另外一个是显式(普通)特征码。当杀软检测到有隐式特征码时,就会启动对显式特征码的扫面,如果还发现显式特征码就报为病毒。隐式特征码一般都是比较容易修改的地方,而显式特征码一般都在难被修改或是不能被修改的地方,所以如果定位到难以修改的特征码,可以先保留该处特征码试试能否定位出隐式特征码。
相关文章推荐
- 学习免杀技术请从下面开始
- 转:学习免杀
- 免杀学习经典技术知识总结
- 免杀第一课学习
- exe文件,后门免杀的制作学习笔记
- 20145308 《网络对抗》 MAL_免杀原理及实践 学习总结
- 免杀技术学习
- 学习计划
- 开始学习OA系统开发
- 我们如何学习Spring 2.0
- linux 学习笔记之 Process Environment
- [推荐]学习XML / XPath / XSLT的好书
- ASP.NET MVC Preview 4 源代码学习笔记 FilterAttribute
- GIS学习探索
- SET IDENTITY_INSERT 学习心得【转载】
- jQuery学习整理 (11)实战表单验证与自动完成提示插件
- 学习ASM破解一--破解GBA《鬼眼狂刀》
- 20100515 学习记录:日期格式 && 小数点后保留两位
- 经典网络工程师学习笔记大全(一)