免杀的原理大全一、工具
mycll:特征码定位
PEID:查壳工具
PEditor: 入口点修改工具 加花
c32asm
ollybg
oc:文件地址到内存地址 的换算
resscope:资源编辑

1.基础的汇编语言 2.修改工具(不指那些傻瓜式软件).如
  OllyDbg . PEditor. C32ASM . MYCCL复合特征码定位器.UE .OC.
资源编辑器等.还有一些查壳 脱壳软件(如EID RL脱壳机等) .
以下是常用的几种免杀方法及工具:
  一.
要使一个木马免杀,首先要准备一个不加壳的木马,这点非常重要,否则免杀操作就不能进行下去。
  二.然后我们要木马的内存免杀,从上面分析可以看出,目前的内存查杀,只有瑞星最强,其它杀毒软件内存查杀现在还不起作用所以我们只针对瑞星的内存查杀,要进行内存特征码的定位和修改,才能内存免杀。
  二.对符其它的杀毒软件,比如江民,金山,诺顿,卡巴.我们可以采用下面的方法,或这些方面的组合使用.
  1>.入口点加1免杀法
  2>.变化入口地址免杀法
  3>.加花指令法免杀法
  4>.加壳或加伪装壳免杀法
  5>.打乱壳的头文件免杀法
  6>.修改文件特征码免杀法
  第三部分:免杀技术实例演示部分
  一.入口点加1免杀法
  1.用到工具Editor
  2.特点:非常简单实用,但有时还会被卡巴查杀
  3.操作要点:用PEditor打开无壳木马程序,把原入口点加1即可
  二.变化入口地址免杀法
  1.用到工具:OllyDbg,PEditor
  2.特点:操作也比较容易,而且免杀效果比入口点加1点要佳
澳门葡萄京官方网站,  3.操作要点:用OD载入无壳的木马程序,把入口点的前二句移到零区域去执行,然后又跳回到入口点的下面第三句继续执行.最后用PEditor把入口点改成零区域的地址
  三.加花指令法免杀法
  1.用到工具:OllyDbg,PEditor
  2.特点:免杀通用性非常好,加了花指令后,就基本达到大量杀毒软件的免杀
  3.操作要点:用OD打开无壳的木马程序,找到零区域,把我们准备好的花指令填进去,填好后又跳回到入口点,保存好后,再用PEditor把入口点改成零区域处填入花指令的着地址。
  四.加壳或加伪装壳免杀法
  1.用到工具:一些冷门壳,或加伪装壳的工具,比如木马彩衣等
  2.特点:操作简单化,但免杀的时间不长,可能很快被杀,也很难躲过卡巴的追杀
  3.操作要点:为了达到更好的免杀效果可采用多重加壳,或加了壳后在加伪装壳的免杀效果更佳
  五.打乱壳的头文件或壳中加花免杀法
  1.用到工具:秘密行动 ,UPX加壳工具
  2.特点:操作也是傻瓜化,免杀效果也正当不错,特别对卡巴的免杀效果非常好
  3.操作要点:首先一定要把没加过壳的木马程序用UPX加层壳,然后用秘密行动这款工具中的SCramble功能进行把UPX壳的头文件打乱,从而达到免杀效果
  六.修改文件特征码免杀法
  1.用到工具:特征码定位器,OllyDbg
  2.特点:操作较复杂,要定位修改一系列过程,而且只针对每种杀毒软件的免杀,要达到多种杀毒软件的免杀,必需修改各种杀毒软件的特征码.但免杀效果好
  3.操作要点:对某种杀毒软件的特征码的定位到修改一系列慢长过程
  第四部分:快速定位与修改瑞星内存特征码
  一.
瑞星内存特征码特点:由于技术原因,目前瑞星的内存特征码在90%以上把字符串作为病毒特征码,这样对我们的定位和修改带来了方便
  二定位与修改要点:
  1>.首先用特征码定位器大致定位出瑞星内存特征码位置
  2>.然后用UE打开,找到这个大致位置,看看,哪些方面对应的是字符串,用0替换后再用内存查杀进行查杀.直到找到内存特征码后,只要把字符串的大小写互换就能达到内存免杀效果。

修改内存特征码—>
  1>入口点加1免杀法—>
1>加压缩壳—>1>再加壳或多重加壳
  2>变化入口地址免杀法 2>加成僻壳 2>加壳的伪装
  3>加花指令法免杀法 3>打乱壳的头文件
  4>修改文件特征码免杀法
  注:这个方案可以任意组合各种不同的免杀方案.并达到各种不同的免杀效果
  第六部分:免杀方案实例演示部分
  1.完全免杀方案一
  内存特征码修改 + 加UPX壳 + 秘密行动工具打乱UPX壳的头文件
  2.完全免杀方案二
  内存特征码修改 + 加压缩壳 + 加壳的伪装
  3.完全免杀方案三
  内存特征码修改 + 修改各种杀毒软件的文件特征码 + 加压缩壳
  4.完全免杀方案四
  内存特征码修改 + 加花指令 + 加压壳
  5.完全变态免杀方案五
  内存特征码修改 + 加花指令 + 入口点加1 + 加压缩壳UPX +
打乱壳的头文件
  还有其它免杀方案可根据第五部分任意组合.

zeroadd:加区段的
木马采衣:加花
maskpe,vmprotect:加密
upx,aspack北斗壳:压缩
免疫007:免疫器

二、效果分析
1、加密:vmprotectv1.21和
MASKPE2.0(对瑞星有特效),比较容易过瑞星表面,不能过卡巴
压缩:北斗,UPX:主要是减少体积
加花:对卡巴有特效,通用性比较好
2、北斗+VMpro,但是北斗+maskpe 出错!无壳木马可以先加花
3、无壳木马直接用maskPE22.0可过瑞星表面但是过不了卡巴。
4、无壳木马加一道花指令后再用VMPRO1.21加密可直接过卡巴但是可能无法过瑞星表面
5、经过免杀处理,过几种杀毒软件,加压缩壳后仍免杀过他们,但是北斗除外,棉纱处理国卡巴的木马北斗后可能被卡巴杀
6、测试操作
1)手工加花+掘北压缩,鸽子
先脱壳,在用OD在零区域添加指令(根据字节编写):先找原入口点,零区域,记录其地址(新入口点),指令push
eax pop eax add esp 1 inc esp push 004A1E48 retn
保存。用PE修改入口点。能过卡巴,过不了瑞星。用掘北(对瑞星表面有特效)
2)工具加花(花蝴蝶三号)+VMPRO+UPX 。捆绑器

三、手工加花方法
1、直接:OD,记录入口点;找零区域,复制地址(新入口);写指令:push 0
nop add esp 2 inc esp inc esp push exp pop esp push 原入口点 retn
改入口点(新)(lordpe);可以把这段代码保存为二进制以后方便用。
2、去头:复制头,并去掉,填加到空白区域(新地址);再填加花指令。
3、加区:zeroadd加区段,大小一般100左右;OD打开文件,用ALT+M打开内存景象,复制区段入口地址和原程序入口,到区段加花,程序入口地址不变;lordpe修改入口为区段的入口。
4、壳中:UPX压缩;OD打开,记录壳的入口(即原入口);记录零区域地址(新入口)加花(有的壳不能写入,或保存后不能运行);LORDPE改入口。
5、壳中加区:UPX;zeroadd加区;OD,记录壳后入口,ALT+M记录区段入口,在区段里加花;
改地址。

四、编写花指令
1、相关汇编(王国军汇编64讲,汇编指令查询器)
2、花指令变形修改(用花蝴蝶三号给程序加花,OD打开)
1)替换法:把mov eax 程序.地址 jmp eax改为 push 地址 retn
2)添加法:在花指令的上面把nop换成 push eax pop eax
3)移位法:在花指令里把 push eax move xxxxx xxxx pop eax换成pop eax move
xxxxx xxxx push eax
4)去除法:在花指令里把 push eax move xxxxx xxxx pop eax换成nop move
xxxxx xxxx nop
5)以上4种方法可综合利用
3、编写技巧:
入口地址最好是: push 地址 retn的形式或 jb 入口地址 jnb 入口地址或 mov
eax 入口地址 jmp eax ,而不是 jmp 入口地址,因为容易被卡巴查杀。

五、myccl地位原理与使用介绍
1、基本原则:开始位置为代码段的其实地址,风乱长度为物理长度,定位一般选复合定位,正向之程序从上到下恢复,定位内存特征码的时候用到后缀。对体积比较大(1000
5000K)的程序分块个数可少点,第一次一般10快,定位大致位置后可分非50
100块(建议不超过200);体积比较小的程序分块可大点,定位的时间就少。
2、定位黑防鸽子的瑞星文件特征码:用myccl检测出来以后要用C32打开文件把检测出来的数据段填0后用瑞星检测。
3、定位鸽子的瑞星内存特征码:要在上步以后用。
1)TK.loader和myccl放在同一目录,tk.loader用来加载木马到内存。myccl参数与上同,另外加上后缀。
2)点生成,在目录路径上右键用TK.loader带开目录,全部载入内存,用瑞星杀。
3)记录被杀文件名,手工删除。重复上步。
4)定位好以后,用C32ASM打开已免杀的程序,把定位好的内存特征码全部填0,用OD载入,用瑞星查,测试定位是否正确。
4、技巧总结:muccl定位文件特征码效率不错,但是定位内存特征码相对比较慢,而有时候对dll文件内存定位不理想,这时候可以用OD手工定位。

六、免杀工具的组合运用
1、工具回顾:加压缩壳一减少体积为住,部分可过瑞星表面;加密与其他方法组合使用效果较好,一般可过瑞星表面;加花免杀卡巴效果好多,对不常见的黑软这中方法的马杀通用性比较好。
2、工具组合要领:可以对无壳程序直接加密也可在无壳木马加花后再加密;一般在其他免杀工作做好以后加压缩壳;加花可以对无壳,加密后的和加壳的软件做。
3、实例
1)、超级加花器V1.0(最后一个选项)+VMPRITECT V1.21
2)、maskPE2.0 + upx + 加区加花:mask选import;花指令为 push ebx pop ebx
push ebx pop ebx inc ecx dec ecx jb 原入口 jnb 原入口 , lordpe改入口
3)、maskPE2.0加密(鸽子):找零区域(00482274即新入口),写入jmp 原入口
;用lordpe改入口;加密(import).
4、工具组合经验:找特效工具组合,如maskpe
对瑞星表面,加花对卡巴,加掘北也对瑞星比较好
(加花后不能用maskpe)。黑防鸽子棉纱花指令后再用MASKPE,将不能正确运行,但是可直接向上找5字节零区域直接写jimp入口地址,然后改入口,再用mask加密,就可运行
并免杀。

七、PE头反调试
PE头的修改步骤:用C32ASM打开目标,计算PE
header的大小(“?”)记录PE头开始地址,把计算出大小的区块向上复制,则PE头增大,将其HEX大小写入(”?“),修改PE头的开始地址。

八、免杀新技术(改壳免杀法)
1、改壳特征码:研究的人少,特征码单一,不脱壳做免杀方便简单,对于放DLL文件类型的木马一定要先脱壳,到处DLL文件分别做免杀。
2、步骤:用myccl定位加壳软件,用偏移量转换器OC查看特征码地址的内存地址,用跳转法修改。
3、技巧:用UPX压缩过的木马程序,有两处跳转都是卡巴的特征码,只要修改任一出都可达到免杀,第一处是离入口点的一处JMP跳转,第二出是最末尾的一处JMP,所一可以直接找到用UPX压缩过的任何木马,可以不用定位。木马复杂的特征码修改经过UPX压缩后就变的简单化。
写花指令的时候找一些比较小的零区域,用一句话花指令等方法,效果不错,这些区域一般写入花指令用
maskpe加密以后程序就回出错,但是用一句话花指令或去头免杀法,然后在用
maskpe 加密,程序不会出错(黑防鸽子的实验结论)。
4、UPX壳的几种免杀方法。卡巴查到鸽子的一个固定地址是一个固定跳转时,就认为是木马。若跳转下面有空为则可用:替换,移位(把”特征代码下移),变换修改,修改头法(把头转移到空白区域再跳到第二句,修改入口),加壳加花。
5、北斗壳的几种免杀。北斗兼容性好,压缩率高,但是有些本来免杀的软件,被北斗压缩后可能被卡巴查杀。写花指令(免卡巴),用VMPROTECT加密可过瑞星表面。polycryptpe也能免杀瑞星表面,007加密可阻止瑞星内存扫描。
6、很多查毒软件只查壳的头几句代码,可将起NOP掉测试,并利用空白区域做免杀;杀毒软件不太注意壳的特征码,所以壳的病毒特征码是单一的,可以很方便的定位和修改。

九、黑防鸽子全免杀:思路是先免杀木马本身(改特征码,加花),然后用工具加密或加压(一般是压缩),最后对壳进行免杀(改壳特征码,加花)。
1、木马本身免杀:修改瑞星内存特征码,手工加花免杀卡巴江民
2、对瑞星表面查杀有特效的压缩壳:撅北压缩