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