首先是说一下
具体的方向,
源码的预处理以及对木马的一些汇编修改,当然以前的方法,我这里也百度了一些,某某大神说什么加壳之类我这里不太推荐,毕竟加壳会让整个程序紊乱,
我把这些预处理的以前那些大神们的方法也给大家复制一下。
(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
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!