加壳是什么?
加壳全称应该是可执行程序资源压缩,压缩后程序可以直接运行。 加壳另一种常用的方式是在二进制的程序中植入一段代码,在运行时候优先取得程序的控制权,之后再把控制权交还给原始代码,这样做目的是为了隐藏程序真正的OEP(入口点,防止被破解),大多数病毒就是基于此原理。
加壳的程序需要阻止外部程序或软件对加壳程序本身的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,保证原始程序正常运行。 这种技术也常用来保护软件版权,防止软件被破解。但对于病毒,加壳可以绕过一些杀毒软件的扫描从而实现它作为病毒的一些入侵或破坏的一些特性。
加壳工具通常分为压缩壳和加密壳两类。
1. 压缩壳的特点是减小软件体积大小,加密保护不是重点。
2. 加密壳种类比较多,不同的壳侧重点不同,一些壳单纯保护程序,另一些壳提供额外的功能,如提供注册机制、使用次数、时间限制等。
简单防御方法
有人说过:壳之初,性本善。 本来壳的诞生是为了帮助程序作者更好地保护自己编写的程序,但谁知道现在却成为了黑客的帮凶,为此我们更应该做好防范。
1. 通过Windows注册表监视工具对注册表的变化进行及时的监控,比如Regmon可以很好的实时监视并显示对整个系统注册表访问,让用户了解某些恶意程序在系统运行后的状况。