内存特征码定位器,找不到特征码内存基址定位
作者:hacker | 分类:网络攻防 | 浏览:102 | 日期:2022年07月15日目录:
- 1、MYCCL的用法和原理
- 2、特征码定位器,OllyDbg 如何做到用UE打开字符串,0替换后再用内存查杀.直到找到内存特征码过瑞星免杀?
- 3、特征码定位什么意思
- 4、特征码定位器是不是可以定位出杀毒软件库中不存而在木马中存在的特征码?
MYCCL的用法和原理
]] 使用篇 [[
载入程序内存特征码定位器,然后分块写10(刚开始应先少数量划分,先确定大范围)。起使位置更好写代码段code,或者txt然后程序会把代码段分成10块,然后从第1块开始恢复,并生成文件。生成完毕后,用杀毒软件查杀生成文件的目录清除所有带毒文件(如果杀毒软件是按顺序杀毒的话,可以在杀掉之一个文件的时候就停止杀毒,此时特征码已经找到)。然后点击[二次处理]程序会自动记录第几个文件开始查到毒了,那个就是第1个特征码。程序会把有特征码的地方添0 并记录在右面,然后把后面的文件分10块开始从头恢复。这样不断进行(反复使用[二次处理]和杀毒)守护特征的大范围就找出了并记录在右面。
因为分为10块所以每块都比较大,这时候需要进行精确。在右面点第1个特征码选择精确此特征码然后此处就会被写入分析器里。分块可以写大一点比如100这样多次进行精确特征码的范围就出来了。
关于内存复合特征码定位原理和文件定位是相同的,只是用程序把生成的文件全部装载到内存中去了,然后用杀毒软件对内存进行查杀。找到报毒的文件,然后手工删除或者在特征码设置中手动添加即刻。其余操作和文件定位相同。
]] 致谢 [[
MyCCL不是突然冒出来的,都是有了前辈们的摸索才会有不断的进步。在此感谢 *** CCL的作者,以及提出定位特征码概念的作者。在程序编写中,各位网友也给了很大的帮助。主动帮忙测试Bug和提出意见和改进之处。在此,特别要感谢[乱刀],多次给程序提出重大改进方案以及智能处理,还为我写了这个简要的说明,呵呵,真是非常感谢!
]] 声明 [[
本软件仅用作技术研究,禁止用于非法用途,否则后果自负!禁止用于商业,DIY请保留原作者信息。
]] 常见问题 [[
问:为什么我只找到1处特征码,没有找到复合特征码?
答:说明被查找程序只有一处特征码.还有可能是文件划分块数过少,使程序处理得不够精确.
问:为什么用单一定位的时候定位不出特征码?
答:可能检测区间当中还存在多处复合特征码,必须继续使用复合定位,直到该区间只剩一组特征码为止.
问:怎么在MyCCL中快速启动TK.Loader?
答:鼠标右键点击输出目录框,会弹出启动菜单.
问:生成的文件带后缀有什么用?
答:生成带后缀的文件主要是内存定位的时候程序只能装载带后缀的文件.文件定位的时候一定不要打开,否则会与某些杀毒软件冲突,定位出错误的特征码.
问:怎么播放选的背景音乐?
答:Shit!这不是点唱机!!!! -___-!!
------------------------------------------------
(+)OLD Version
1.[4.1]修改了几处细节错误.
2.[4.1]起始位置改为从0算起而不是1.
3.[4.1]加入高级分段空间调整.
4.[4.1]加入PE节块信息分析.
6.[4.1]改进了分布视图功能.
7.[4.1]加入了精确定位功能.
8.[4.2]加入自定义填充码功能.
9.[4.2]加入反向填充功能.
10.[4.2]加入复合定位和单一精确定位(CCL方式)
(+)What's New?
1.[4.3]更新至1.1版本
2.[4.3]对内存复合定位进行修改
3.[4.3]加入内存复合特征码辅助定位工具
4.[4.4]修正一些细节Bug
5.[4.4]加入新版本检测功能(本来不想加的,但是我的myccl当初做的时候有点粗糙,小Bug比较多)
6.[4.4]修正了单一定位模式的一处致命错误,请大家及时更新
7.[4.5]修正了MyCCL运行时CPU占用资源过多的问题
8.[4.5]对保存Log的内容进行筛选
9.[4.8]对内存定位载入失败问题进行修改(感谢niu-cow大哥提供帮助)
x.还有..还有我忘记了-___-!!
因为比较匆忙,没有来得及做详细的教程和DEMO,希望哪位人兄帮我写写教程或者出几个DEMO。我会把地址贴到上面来的,3X!
以前我们定位特征码都是应用CCL这款软件,对于特征码免杀来说确实很方便,但是随着杀毒软件的技术更新,我们所生成木马的特征码不再是单一的,而是多区多段,比如以前我们用OD可以一半一半法定位特征码,但是现在,你把所有区段都NOP了,也是查不出来特征码的,为什么呢内存特征码定位器?因为现在的杀毒软件都是把文件特征码和内存特征码混在一起,并且设定的特征码位置比以前多了很多,并不象以前只是把特征码定位在CODE里而且只有一个。例如:
PE文件 节表信息 这个是黑防灰鸽子的客户端共有8个区段
文件名:D:\Documents and Settings\Administrator.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或者C32A *** 都可以。我们找到特征码所在的位置,偏移量是2个字节,我们用0填充,为了节余时间,其他的你们填充吧。看到了,修改正确。
特征码定位器,OllyDbg 如何做到用UE打开字符串,0替换后再用内存查杀.直到找到内存特征码过瑞星免杀?
如果您确认您的软件确实是安全的,右击右下角绿色雨伞禁用所有电脑防护,然后再使用此软件。
特征码定位什么意思
什么叫特征码
1.含意:能识别一个程序是一个病毒内存特征码定位器的一段不大于64字节的特征串.
2.为内存特征码定位器了减少误报率,一般杀毒软件会提取多段特征串,这时,我们往往改一处就可达到
免杀效果,当然有些杀毒软件要同时改几处才能免杀.(这些 *** 以后详细介绍)
3.下面用一个示意图来具体来内存特征码定位器了解一下特征码的具体概念
.特征码的定位与原理
1.特征码的查找 *** :文件中的特征码被我们填入的数据(比如0)替换了,那杀毒软
件就不会报警,以此确定特征码的位置
2.特征码定位器的工作原理:原文件中部分字节替换为0,然后生成新文件,再根据杀
毒软件来检测这些文件的结果判断特征码的位置
.认识特征码定位与修改的工具
1.CCL(特征码定位器)
2.OOydbg (特征码的修改)
3.OC用于计算从文件地址到内存地址的小工具.
4.UltaEdit-32(十六进制编辑器,用于特征码的手工准确定位或修改)
特征码修改 ***
特征码修改包括文件特征码修改和内存特征码修改,因为这二种特征码的修改 *** 是通用的。所以就对目前流行的特征码修改 *** 作个总节。
*** 一:直接修改特征码的十六进制法
1.修改 *** :把特征码所对应的十六进制改成数字差1或差不多的十六进制.
2.适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能
否正常使用.
*** 二:修改字符串大小写法
1.修改 *** :把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了.
2.适用范围:特征码所对应的内容必需是字符串,否则不能成功.
*** 三:等价替换法
1.修改 *** :把特征码所对应的汇编指令命令中替换成功能类拟的指令.
2.适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等.
如果和我一样对汇编不懂的可以去查查8080汇编手册.
*** 四:指令顺序调换法
1.修改 *** :把具有特征码的代码顺序互换一下.
2.适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行
*** 五:通用跳转法
1.修改 *** :把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行.
2.适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法.
详细资料
特征码定位器是不是可以定位出杀毒软件库中不存而在木马中存在的特征码?
不是,特征码定位器也是依赖杀毒软件扫描,他才知道这里这里是某个杀毒软件定位的特征,从而告诉人们,改的应该是这里。那么,既然杀毒软件库中不存在,也就说明即使这是木马,杀毒软件也不能杀到。