文章目录
  1. 1. 利用加多个花指令的方法实现木马免杀
  2. 2. 利用壳外花实现木马免杀
  3. 3. 利用修改壳头实现木马免杀
  4. 4. 利用移动PE头的方法实现免杀

利用加多个花指令的方法实现木马免杀

加多个花指令和加单一花指令的原理基本相同,都是让程序先执行花指令再执行原程序从而实现程序代码的复杂化。不过稍有不同的是,加单一花指令时,最后的跳转指令是直接跳转到原程序入口点,而我们加多个花指令时,第一个花指令最后的跳转语句则是跳转到第二个花指令的起始地址,这样在第一个花指令执行完成后就会直接执行第二个花指令,然后第二个花指令的结晶尾再跳转到第三个花指令的起始位置,以此类推……最后一个花指令的结尾就直接跳转到原程序入口。原理和加单一花指令基本没什么区别,只是工作量大一些。不过加多花的免杀效果要比加单一花的免杀效果好得多。

利用壳外花实现木马免杀

原理:先给木马加上一个普通的压缩壳以减小木马的体积。然后再给加过壳的木马加上一个花指令,这样就可以干扰杀毒软件对木马所加壳的判断,从而实现免杀目的。

利用修改壳头实现木马免杀

我们知道,杀毒软件是通过将被检测文件的头部代码与壳特征码进行比对,以此来判断被检测文件所加的壳的种类。因为汇编指令里有很多等效指令,比如“add ebp,8”和“sub ebp,-8”就是等效的。我们大可以利用这些等效代码来实现对木马壳头的修改从而实现免杀目的。

利用移动PE头的方法实现免杀

这里讲一下如何利用移动PE文件头来实现木马免杀。先来回顾一下PE的结构。“DOS MZ header”是DOS头,DOS头在Windows下可以被忽略。而我们就可以将原来的PE文件头移动到DOS部分(将DOS覆盖)。因为DOS头在Windows下可以被忽略,所以我们移动PE头后的新程序也是可以正常运行的。
免杀的方法有很多,这里只是讲了几种常见的。

文章目录
  1. 1. 利用加多个花指令的方法实现木马免杀
  2. 2. 利用壳外花实现木马免杀
  3. 3. 利用修改壳头实现木马免杀
  4. 4. 利用移动PE头的方法实现免杀