首页
社区
课程
招聘
[原创]解决定位特征码死循环个人的一些看法
发表于: 2014-5-2 02:15 8430

[原创]解决定位特征码死循环个人的一些看法

2014-5-2 02:15
8430
首先是说一下
具体的方向源码的预处理以及对木马的一些汇编修改,当然以前的方法,我这里也百度了一些,某某大神说什么加壳之类我这里不太推荐,毕竟加壳会让整个程序紊乱,我把这些预处理的以前那些大神们的方法也给大家复制一下


(1.入口点加1,为什么要入口点加1,其实还是和如何特征和文件特征有关系,一般杀毒软件在确定特征码的时侯还对文件大小等做一个粗略估计(个人感觉),只有基本符合的才定义位病毒或者木马。哪么我们就可以在入口点上做文章了。加1也可以解决分多少块都杀的情形。

2.从400开始定位,这个也就是我们俗称的代码段开始定。没有多少可以讲的,除非是定位在文件头或者PE头,一般如果出现死循环或者定位不到特征码,或者定位的特别难修改,都可以尝试从400也就是代码段开始定位。

3.还有就是分块的个数,有时你分50块全杀或者出现死循环你换成51.52.55.80....等说不定就可以解决问题了。

4.反向定位也许大家都听说过,也尝到了反向的甜头。什么叫反向定位?我感觉是反向填充后重新杀,不知道有没有搞错,这个就不多说了,大家也都可以。

5.还有一种个人感觉效果更好一点,但如果是做dat的免杀,恐怕有时候就不那么好搞了。就是加壳后改壳,然后再定位位,这样免杀的效果会更好一点。



(MYCCL的设置:
1.输出的路径,这个用OUTPUT安博士不吃这套了,生多少杀多少,所以输出用OUTPUT是不明智的

2.木马存放位置,桌面以及C盘目录下存在大量为执行木马病毒而且有规律存放则一个不杀,信我,江民干的出来。放到D盘这样的目录下:D:\新建文件夹 就过了。
好了。MYCCL到这里,下面是木马的设置。

木马的设置:
1.版权,这个用WIN系统自带的版权最好。杀毒以为是系统文件感染了,就乖乖杀了。呵呵,这个对付卡巴比较有效。
2.图标,这个实在甲壳虫上看到的,不用默认!这个对熊猫卫士和国外的一个有特效!
3.入口点加一以及文件头位移,这个效果很好,可以算是预处理中的王牌方法,对付死循环很有用!
4.资源,这个主要针对鸽子的HACKER资源,修改这个,但是要注意,客户端也要做相应修改。
5.区段,如果你的木马加过区段而且足够个性的话,恭喜你,死循环找上你拜年来了!这样的话,高启发也是会杀的。
6.多PE头,这个主要是针对捆绑过的木马做定位出现的死循环。


这些当然现在对某某杀毒软件还是有用的毕竟他们没有360那么让人癫狂.....

然后我这里要补充的有几点:

1.入口点变异

2.优化体积、删除重定位、优化PE头

3.重建输入表

4.重建资源段

5.添加花指令
OD工具中的地址,也就是VA地址,VA=00401964,计算得RVA=1964

6.打乱输入表指针,加上迷惑信息


源码的方法呢,我这里也说一下:源码加nop加干扰都可以的

    
#pragma comment(linker, "/defaultlib:msvcrt.lib /opt:nowin98 /IGNORE:4078 /MERGE:.rdata=.text /MERGE:.data=.text /section:.text,ERW") __asm nop; __asm nop; __asm nop; #pragma comment(linker, "/defaultlib:msvcrt.lib /opt:nowin98")

    __asm { nop nop nop nop nop nop nop }


    然后添加一些迷惑杀毒软件的输出表函数: 
extern "C" __declspec(dllexport) bool heiyuxhj(); extern "C" __declspec(dllexport) bool heiyuxhj () {  return false; }

    __asm {  ADD ebx ,0000   ADD ebx ,0000   add esp,10   sub esp,10   ADD ebx ,0000   ADD ebx ,0000 }


     

    干扰:

   
 //延时加载函数 #pragma comment(lib, "DELAYIMP.LIB")
 #pragma comment(linker, "/DELAYLOAD:WININET.dll")
 #pragma comment(linker, "/DELAYLOAD:WS2_32.dll")
 #pragma comment(linker, "/DELAYLOAD:PSAPI.DLL") 
#pragma comment(linker, "/DELAYLOAD:GDI32.dll") 
#pragma comment(linker, "/DELAYLOAD:ADVAPI32.dll")
 #pragma comment(linker, "/DELAYLOAD:SHELL32.dll")
 #pragma comment(linker, "/DELAYLOAD:WINMM.dll") 
#pragma comment(linker, "/DELAYLOAD:USER32.dll") #pragma comment(linker, "/DELAYLOAD:WTSAPI32.dll") 
#pragma comment(linker, "/DELAYLOAD:AVICAP32.dll") #pragma comment(linker, "/DELAYLOAD:SHLWAPI.dll")
 #pragma comment(linker, "/DELAYLOAD:IMM32.dll") #pragma comment(linker, "/DELAYLOAD:urlmon.dll") 
#pragma comment(linker, "/DELAYLOAD:OLEAUT32.dll") 
#pragma comment(linker, "/DELAYLOAD:ole32.dll") 
#pragma comment(linker, "/DELAYLOAD:NETAPI32.dll") 
#pragma comment(linker, "/DELAY:nobind") 
#pragma comment(linker, "/DELAY:unload")


    源码花指令:

    
__asm nop; __asm nop; __asm nop;


    干扰
#define ANTIVIRUS  _asm nop;


    区段合并:
 #pragma comment(linker,"/MERGE:.rdata=.data")//把rdata区段合并到data区段里 #pragma comment(linker,"/MERGE:.text=.data")//把text区段合并到data区段里 #pragma comment(linker,"/MERGE:.reloc=.data")//把text区段合并到data区段里 #pragma comment(linker,"/section:data,RWE")//设置区段属性 RWE是可读、可写、可执行的意思
   #pragma code_seg("PAGE") //其中PAGE是区段的名称


   关于定位还有一篇在看雪地址为:http://bbs.pediy.com/showthread.php?t=187021
   本帖源地址:http://www.myth007.com/62.html

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 2859
活跃值: (3874)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
解决定位特征码死循环的好法子
2014-5-2 07:15
0
雪    币: 341
活跃值: (138)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
11年一直用的东西了。。。近几年没弄过难道还是这样么
2014-5-2 10:22
0
雪    币: 341
活跃值: (138)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
4
求最新。。。。。。。。。。。比如QVM
2014-5-2 10:25
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
5
现在还弄源码免杀?
2014-5-2 11:15
0
游客
登录 | 注册 方可回帖
返回
//