1.1 壳的分类
1. 通常分为压缩壳和加密壳两类。
2. 压缩壳的特点是减小软件体积大小,
3. 加密壳种类比较多,不同的壳侧重点不同,一些壳单纯保护程序,另一些壳提供额外的功能,如提供注册机制、使用次数、时间限制等。
1.2 查壳
可以利用PEID软件进行查壳,用PEID打开要查的软件,以扫雷为例,可以看到扫雷是用C++编写的程序,证明这个软件没有壳,如图1。若有壳,此处将会显示是用哪种方法加的壳。
图1
1.3 加壳
1. 什么是加壳?
利用特殊的算法,为了保护软件不被反编译,对可执行文件里的资源进行压缩或加密。
2. 加壳的原理
源程序的代码段通过壳程序进行加密,生成了加密后的代码段,加密后的代码跟源程序的头放在一起,得到的加壳后的程序。
1.4 去壳(脱壳)
1. 常用的脱壳工具:PEID
2. 脱壳的原理
脱壳的基本原则就是单步跟踪,只能往前,不能往后。脱壳的一般流程是:查壳->寻找OEP->Dump->修复。