MYCCL特征码定位器的详细使用

原文连接:http://hi.baidu.com/%BA%CE%B3%C9%B8%D5/blog/item/080ebd09b04d8e206b60fb21
.html


MYCCL特征码定位器的详细使用
2008年02月09日 星期六 08:26
看见不少朋友对 MYCCL 这款特征码定位器不会使用,所以今天就给大家做一下这方面
的教程。
以前我们定位特征码都是应用 CCL 这款软件,对于特征码免杀来说确实很方便,但是随着杀毒软件的技术更新,我们所生成木马的特征码不再是单一的,而是多区多段,比如以前我们用 OD 可以一半一半法定位特征码,但是现在,你把所有区段都 NOP 了,也是查不出来特征码的,为什么呢?因为现在的杀毒软件都是把文件特征码和内存特征码混在一起,并且设定的特征码位置比以前多了很多,并不象以前只是把特征码定位在 CODE 里而且只有一个。 例如:
                PE 文件   节表信息   这个是黑防灰鸽子的客户端共有 8 个区段               
文件名 :D:Documents and SettingsAdministrator.BPLG 桌面 MYCLL( 定位内存组合包 )Server.exe
------------------------------------------------
节名称          起始位置          物理长度       
   CODE        00000400      000A 1200    以前特征码多数在这个区段,并且只有一个
   DATA            000A 1600        00002C 00    现在的特征码有很多处。
   BSS            000A 4200       00000000   
.idata          000A 4200       00003400
   .tls              000A 7600       00000000
rdata          000A 7600       00000200
.reloc          000A 7800        0000A 400
   .rsrc         000B 1C 00      00008200
首先,我们要知道现在的杀软,以瑞星查杀内存是最厉害的,瑞星内存免杀能过的话,其他大多数杀毒软件的内存都基本能过的。所以今天我们就以瑞星杀软,对 MYCCL 进行讲解。修改特征代码免杀一般分为文件和内存二种,我们要先查找文件特征码进行免杀(表面免杀),然后才可以查找内存特征代码进行免杀。有的朋友错误的认为,给木马加壳、加花、加密,这样文件(表面)免杀了,然后再用这个查找内存特征码,这样理解是错误的。
现在我们开始进行黑防灰鸽子的文件特征码定位查找:
首先我们要生成一个无壳的鸽子客户端,我已经生成好了。
打开 MYCCL 复合特征码定位器软件,把我们要查找的鸽子打开,带后缀不要选(这个在查找内存特征码时在选上)。目录,我在桌面已经建一个了,大家可以随便建一个。分块个数设置在 50―100 之间。单位长度和填充我们默认不写;开始位置我们写这里的:
区段           开始位置         分段长度
CODE        00000400         000A 1200        95% 的特征码都是在这个区段里
正向(反向)都可以,无所谓。结束位置是自动的,我们不用管它。选复合定位,因为特征码不是一个,会有很多个,所以选复合定位。开始点生成。 2 次处理前,我们对生成的文件用瑞星进行查杀并删除。我们继续 2 次处理,用瑞星杀毒删除,直到查不出为止。
特征码   物理地址 / 物理长度   如下 :
[ 特征 00092E3D_00001DB3
[ 特征 ]  000969A 3_00001DB3
[ 特征 ]  0009C 2BC_00005919
这里一共有 3 大段,我们看其中一个,   00092E3D 这个是特征代码; 00001DB3 这个是此特征代码的偏移量,偏移量太大了,怎么办?我们继续。使它更精确一些。
选其中一个,复合定位此区间,它默认的分块个数太大,我们重新设置分块,我们设置 100 ,重复上面的步骤。
刚才的偏移量由 00001DB3 缩小到 0000004C 。但是它还是比较大,我们继续对它进行缩小定位,步骤和上面一样。我们看单位长度已经在 2 了,所以我们就不用进行分块设置了,这里大家也看到了,分块越大,单位长度越小,但是分块越多,我们生成的文件数也越多,生成的文件数太多的话,我们的电脑会受不了的   呵呵。我们所要的精确定位就是偏移量在 2 4 ,太大我们无法进行特征码的修改,下面我们继续把其他大的偏移量缩小,步骤是一样的。
[ 特征 ]  000969A 3_00001DB3
[ 特征 ]  0009C 2BC_00005919  这二个是大的偏移量,你们应该知道怎么精确的去定位了吧。
还有   要说明的是我们的分块个数是怎么设置的,大的文件(比如鸽子 700 k )一般设置在 100―200 之间,小的文件分块个数设置在 100 以内就可以了,二次处理的时候会出现分块个数是 100 多点(比如 114 ),单位长度是 2 ,这样我们就不需要在改回分块个数是 100 了,因为单位长度 2 或者是 4 ,正好是我们所需要的大小。
这是我定位好的了,一共有 9 处:
特征码   物理地址 / 物理长度   如下 :
[ 特征 ]  000949A 7_00000002
[ 特征 ] 00094B3D_00000002
[ 特征 ] 000973E9_00000002
[ 特征 ] 0009CBBC_00000002
[ 特征 ]  0009F 5A 6_00000002
[ 特征 ]  000A 0A 46_00000002
[ 特征 ]  000A 0DD2_00000002
[ 特征 ]  000A 1250_00000002
[ 特征 ]  000A 12A 2_00000002
我们测试一下,看看是否正确。用 WinHex 进行修改,也可以用 UltraEdit 或者 C32Asm 都可以。我们找到特征码所在的位置,偏移量是 2 个字节,我们用 0 填充,为了节余时间,其他的你们填充吧。看到了,修改正确。教程到此,下次讲内存特征码的定位。


你可能感兴趣的:(职场,休闲)