找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 2076|回复: 3

【无特征码免杀教程】采用反调试技术免杀NOD32

[复制链接]

242

主题

2213

回帖

3883

牛毛

版块主管

www.nb5.cn

积分
10239
发表于 2009-11-15 16:47:04 | 显示全部楼层 |阅读模式
以下内容为jgaoabc的免杀教程:
我前面做了个教程《【无特征码免杀教程】反调试技术的运用》,没几天NOD32和瑞星都开始追杀了,没办法,只好继续琢磨。瑞星还好过,碰到NOD32就怎么也过不了,通过一段时间的研究,我发现对付NOD32最好的方法还是采用反调试技术。
    记得在暗组曾有人发表过二句经典的过NOD32的汇编语句,在程序头上加上后(当然最好采用加壳改壳过的),NOD32就变成了哑巴,主要的特征是NOD32扫描时间很短,1秒不到就结束扫描返回结果,就好象NOD32的虚拟执行扫描机制被破坏了一样。虽然现在这二句已经失效了,但是给了我思路,破坏NOD32的虚拟执行扫描机制就可以过NOD32。
    顺着我前面教程的思路继续往下研究,看了很多关于反调试的文章,特别是这一篇给我启发很大《【原创】反调试技巧总结-原理和实现》(http://bbs.pediy.com/showthread.php?t=70470)。里面介绍了当觉察调试器或者杀毒软件在调试或者扫描程序时,如何采用各种手段引导程序到错误的位置,而不是继续让调试器或者杀毒软件按照程序正常的流程执行,从而避免木马程序被查杀。
    我们来看一段很简单的过NOD32的反调试语句,这几句汇编现在可以过NOD32。
00401000 >  64:A1 30000000              mov eax,dword ptr fs:[30]
00401006    8B40 18                     mov eax,dword ptr ds:[eax+18]
00401009    8B40 0C                     mov eax,dword ptr ds:[eax+C]
0040100C    83F8 02                     cmp eax,2
0040100F  - 0F84 E11B0600               je 入口点
00401015    C3                          retn
    在OD里按F7单步走,程序被引导到RETN位置,对应的ESP堆栈里如下:
0012FFC4      7C816FE7       返回到 kernel32.7C816FE7
    顺着走,程序就退出了,这个是在调试器里执行的情况,而在没有调试器时是会跳到入口点的。这个就没办法演示啦。
    我们来操作下。我用北斗压缩下服务端,改下壳以便放入反调试代码,北斗壳入口点到输入表尾部之间的代码是没有用的,我们正好可以利用。添加好改下入口点。测试上线。我们看下NOD32免杀效果,看NOD32基本没扫描就退出扫描,扫描在0秒完成。
    我做了不少采用反调试技术过NOD32的代码,效果都很好。那些都比较复杂。就不介绍了。呵呵。

    欢迎讨论。
以上内容为jgaoabc的免杀教程

0

主题

6

回帖

10

牛毛

初生牛犊

积分
10
发表于 2009-12-23 11:45:59 | 显示全部楼层 来自 江苏省南京市高淳县
学习了。。。。。。

4

主题

22

回帖

277

牛毛

一级牛人

积分
277
发表于 2010-2-8 04:03:19 | 显示全部楼层 来自 安徽省马鞍山市
没弄明白

36

主题

58

回帖

788

牛毛

一级牛人

积分
798
QQ
发表于 2010-2-8 11:34:17 | 显示全部楼层 来自 广西柳州市
大家互相学习嘻嘻
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-27 06:12 , Processed in 0.170342 second(s), 50 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表