特征码(attribute code )是能识别一个程序是一个病毒的一段不大于64字节的特征串。为了减少误报率,一般杀毒软件会提取多段特征串,这时,我们往往改一处就可达到
免杀效果,当然有些杀毒软件要同时改几处才能免杀。

目前的核心免杀技术几乎都是围绕着特征码的修改,然后辅助之以花指令、压缩加密壳等手段。关于花指令的使用方法,我在上一篇文章中已经讲过了(http://bbs.honker.net/thread-28080-1-1.html)。本文我将讲述如何通过MyCCL复合定位特认证码以及特征码的几种修改方法。定位特征码可不是程序自动就可以定位的,需要大家手工操作,哇咔咔~~手工才是王道啊~o(∩_∩)o

这里我们生成一个Puppet的服务端,因为这个程序比较小,定位起来不费事。接下来我们首先要看看它加没加壳,因为如果加壳了的话,会影响我们对木马的定位。我们先把他载入PEID里检测一下。看来是加了UPX的壳,而且有附加数据,大家可以用UPX的专门脱壳程序或者通用脱壳程序,也可以在OD中用定律脱壳,至于如何脱壳,全看大家喜好了,不过千万要注意附加数据的处理,那个Overlay代表附加数据。

接下来我们把程序导入MyCCL,大家不要看着这么些参数晕,其实我们只需要修改一个地方就行了,就是分块数量。第一次定位我们不需要将程序分的太多,这里我们设置为50。我们点击生成,就会在桌面上生成一个文件夹,里面是分割后的木马服务端。

生成完分割块后,它会提示你用杀软检测生成块之后再进行二次处理。我么找到那个文件夹,右键用杀软检测(建议大家不要用小红伞,因为...因为小红伞每发现一个特征区域就会从主机的蜂鸣器中滴的提示一声,差点把我烦死...)。这里一定要注意,检测出来的文件当杀软询问是否删除时,一定要删除。

接下来我们点击二次处理,会出现如下提示,接下来我们的任务就简单了,继续对文件夹查杀,然后查杀完后二次处理,知道杀软检测不出文件夹里病毒为止(记住,询问时一定要删除)。

 
当我们杀不出病毒时,点击MyCCL上的特征区间,然后右边会出来一个窗口,里面有一个特征码,我们选中这个特征码,右键选择第一个选项,定位到此特征码,接下来主窗口中的单位长度会由原来的436变为2,然后在桌面的文件夹中生成新的特征块,这就是精确定位的开始。

接下来我们的工作就是重复第一次定位,不断的查杀,二次处理,精确定位的特征码会在右边出现。我杀到没有病毒后,出来四个特征码。分别是:0000525A 0000539E 00005406 00005412。这些是文件地址,可以在C32Asm中进行修改免杀(C32Asm的16进制文件使用文件地址标识)。当然有的时候我们需要在汇编状态修改,大家可以右键在C32Asm,选择对应到汇编,也可以用OD载入。如果我们进入汇编状态,就需要内存地址了,如何用OC转换内存地址,我在花指令一文中已经说明了,这里不再重复。以上四个文件地址的内存地址分别为:0041445A 0041459E 00414606 00414612

我们打开C32Asm,选择打开→打开16进制文件,然后右键选择跳到,选择一个特征码,就可以跳到对应的16进制。

对于特征码的修改方法,有以下几种,这里特征码较多,就不做演示了。

方法一:直接修改特征码的十六进制法
修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制.
适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能否正常使用.

方法二:修改字符串大小写法
修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了.
适用范围:特征码所对应的内容必需是字符串,否则不能成功.

方法三:等价替换法
修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令.
适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等.如果和我一样对汇编不怎们精通的可以去查查8080汇编手册.

方法四:指令顺序调换法
修改方法:把具有特征码的代码顺序互换一下.
适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行

方法五:通用跳转法
修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行.
适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法.

刚才我们跳到的特征码,右边对应的是一个字符串e,我么可以通过修改它的大小写来实现免杀,我记得WIN执行程序时是不区分大小写的。至于另外几个特征码,以上几种方法也可以使用。

当然,除了MyCCL,这里还有一种定位特征码的方法,就是一半定位法,我在网上找了一下资料,很实用,但也很麻烦,大家可以看一下:

不知道是那位牛人想出来把这方法用到木马免杀上,这个方法让很多不会用偏移定位特怔码的朋友也能够很容易掌握到特怔码的位置,实在是很高明又很简单的免杀好方法.这里我就根据他的方法详细介绍OD一半定位法
所谓OD一半定位法很简单,就是用OD载入需要做免杀处理的文件,用NOP填充一半的代码然后保存,接着用杀毒软件查毒,如果有毒就在把另外一半用NOP填充,如果没报毒就证明特怔码就在刚刚填充的那一半,然后又对那一半进行1/2的NOP填充,这样不断缩小范围,很容易就找到需要修改的代码部分。如果是做内存免杀就把NOP填充好的文件用OD打开进行内存杀毒。怎么样?是不是很容易掌握的方法?
不过需要注意的是新手用这个方法最好每做一步都把NOP填充的开头和结局部分的地址用纪事本保存,免得一旦忘记又从头来.
如果特怔码不止一处,你就要大致定位到有特怔码这一大段,然后把这一段的一半用NOP填充并且保存,接着打开保存的文件对另外一半继续刚刚开始的步骤,这样很快就能够定位出几处特证码所在的位置.
还是那句话,熟练就好,另外需要注意填充后查出的病毒名字有没有改变,如果改变就证明你填充的那段存在特怔码,这样可以省掉不少时间。

http://blog.sina.com.cn/s/blog_5d6916a40100vize.html

程序免杀技术之——特征码相关推荐

  1. 程序免杀技术之——花指令

    花指令(junk code) 意思是程序中有一些指令,由设计者特别构思,希望使反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向.经典的是一些跳转指令,目标位置是另一条指令的中间,这样 ...

  2. 在一黑客论坛上看见的:360免杀技术介绍

    一.ASM汇编 这个是最舒服的,用OD打开已经配置好的马,找0区(也可以用TOPO加空段)要很大一片哦!右击,选择"二进制"→"编辑",在ASCII中输入 &q ...

  3. Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结...

    Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结 1. ,免杀技术的用途2 1.1. 病毒木马的编写2 1.2. 软件保护所用的加密产品(比如壳)中,有 ...

  4. 病毒免杀技术-理论篇

    现有的病毒免杀技术主要分为三种,其中一种就是行动免杀,通过控制病毒木马的行为来躲过杀毒软件主动防御检测的目的,而这种行为免杀所用到的处理技术之一就是通过Anti Rookit来使反病毒程序的Rootk ...

  5. 传奇解决登陆器报毒360秒过百度杀毒 金山 卡吧 远控免杀技术

    传奇解决登陆器报毒360秒过百度杀毒 金山 卡吧 远控免杀技术 由于部分语言开发导致 杀软误报 使用本工作室研究得知误报分析代码 一.查壳 PEiD查出壳为PECompact 2.5 Retail - ...

  6. msf之进阶免杀技术,无视360

    大家好!我是阿杰,今天我写一篇关于msf免杀技术的文章,如果你喜欢请为我打call,我会一直写下去. 首先我们需要: 说明:python监听虽然可以绕过360,但仅限于安装了python的目标,这是具 ...

  7. Msfvenom编码免杀技术实现免杀实战

    Msfvenom编码免杀技术免杀实战 免杀技术在网络渗透的实战中十分实用,本文将介绍使用msfvenom自带编码免杀工具进行编码免杀,从而实现绕过杀毒软件获得shell的具体方法. 按照文中所讲述的方 ...

  8. 免杀技术有一套(免杀方法大集结)(Anti-AntiVirus)

    00. 概述 什么是免杀?来自百科的注解: 免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),逐字翻译为& ...

  9. Windows下基础免杀技术

    0x01.杀软查杀原理 1.免杀的概念 免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),逐字翻译为&qu ...

  10. 红队笔记之杀软原理介绍与免杀技术总结

    杀软的常用杀毒引擎 搞免杀之前呢肯定要对杀毒软件的查杀方法进行了解,了解后才能有效的制定绕过策略,以达到的免杀的目的,因为免杀本就是一个对抗的过程所以任何免杀都有着自己的时效性.下文将分别分析杀软的常 ...

最新文章

  1. 标题 相机标定(Camera calibration)原理和步骤
  2. SQL 隐藏手机号中间四位
  3. linux下文件时间戳
  4. VLFeat在matlab中的使用
  5. C# CRC16 modbus
  6. 自动布局之autoresizingMask
  7. x722网卡驱动linux,Intel英特尔E810/X722网卡驱动1.4.24版For Linux RDMA(2021年4月8日发布)...
  8. java动态生成HTML文件
  9. train.py部分
  10. 《算法笔记》——基础篇习题选择结构
  11. js,jquery获取复选框checkbox被选中的值
  12. 买服务器挂网站吗,云服务器 挂网站吗
  13. 起步晚了20年,韩国芯片凭什么打破美日封锁,做到世界第1?
  14. python 键盘记录_记录键盘敲击次数 python实现
  15. Lasso 和 Ridge回归中的超参数调整技巧
  16. 打车软件的未来发展方向
  17. soul-网关实战(一)学习路线
  18. 面试题1 -- Java 中,怎么在格式化的日期中显示时区?
  19. C语言结构体(这一篇就够了)
  20. LVM 详细基本操作

热门文章

  1. 计算机考研需要分数线,计算机考研分数线是多少?
  2. linux系统格式化硬盘
  3. RSS源的搜索引擎优化方法
  4. 高端时尚简历PPT模板-优页文档
  5. 软件设计师2018上半年+历年资料
  6. Gitbub认证及代码提交
  7. 什么是飞天?全球级大数据计算平台,自主研发!
  8. Unity第一视角流血受伤受攻击屏幕流血效果
  9. vbs自动登陆115网盘代码
  10. 设置新的路由器无线网络连接服务器,路由器连接新路由器怎么设置 路由器连接新路由器设置方法【详解】...