特征码免杀
1、特征码免杀
- MyCCL:使用的是文件分块定位的方法来查找特征码,把文件分成多块,看杀软对那部分报毒
1.1、MyCCL定位特征码
- 主页面
- 参数区
- 文件路径:将进行特征码定位的木马文件的路径
- 目录路径:存放MyCCL即将生成的特征码样本的目录,默认是与木马同文件夹下的OUTPUT目录
- 分块个数:生成特征码样本的数量,数量越多,定位结果越精确
- 单位长度:填充无效字节的单位长度,例如填120,就是每次填充120个无效字节
- 填充:填充数据设定,默认为“00”,页可以是其他十六进制信息
- 开始位置:第一个特征码样本将会从此处指定的位置开始填充
- 分段长度:填充字段的总长度
- 结束位置:最后一个特征码样本填充到此处指定位置便结束
- “正向”按钮:选择填充方向,例如“正向”就是从头文件开始暴露
- 复合定位:超过一处特征码时便需要选择此定位方法
- 单一定位:单一特征码定位
1.1.1、定位使用MSF生成的马
- 分成10块
- 放到火绒中,被杀了4个
- 进行二次处理
- 它会比对被删除的地方
- 重新生成,并再次放到火绒中,发现已经没有匹配
1.2、VirTest5.0特征码定位
- 使用说明
- 制作测试文件,并把virtest.vir复制到有杀软的环境中
- 等待1秒,进行检测
- 结果
- 通过十六进制文本打开
1.3、基本的特征码修改
- 修改字符串大小写法
修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了.
适用范围:特征码所对应的内容必需是字符串,否则不能成功. - 用00字节进行填充:将某个一代码在十六进制下用00替换,相当于删除了这段代码
- 加1减1法:利用十六进制值相近的部分汇编指令
- 通过反汇编的方式修改:
- 空白区域跳转法
- 上下互换法
- 等值替换法
- 直接修改特征码的十六进制法
修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制.
适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能否正常使用. - 等价替换法
修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令.
适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等.如果和我一样对汇编不怎们精通的可以去查查8080汇编手册. - 指令顺序调换法
修改方法:把具有特征码的代码顺序互换一下.
适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行 - 通用跳转法
修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行.
适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法.
推荐阅读: