加密解密-壳的概念
壳的作用是为了更好的保护软件,最大限度使其不在一定时期内被解密.一般来讲,壳分为压缩壳和保护壳两类.
常见的压缩壳有:UPX、ASPack、PECompact、FSG和Winupack(国产)等。
常见的保护壳有:ASProtect、Telock、Armadillo、Obsidium、Xtreme-Protector、VMProtect、DBPE(国产)、EncryptPE(国产)、ACProtect(国产)、和Hying(国产)等。
1.UPX
UPX是一个DOS下的EXE和DLL文件压缩壳软件,同时它可以自己进行脱壳,只需要用UPX-D;操作很简单。UPX软件的官方主页http://upx.sourceforge.net。
由于UPX是一款基于DOS的软件,采用命令行方式加壳和脱壳都不方便,所以UPX有一些外挂,用图形方式操作。比如常见的有dREAMtHEATER制作的UPX ShellEx。
由于UPX的变种壳很多,就是对UPX文件进行了一些修改或者UPX版本的不对应,所以当使用“解压缩PE文件”功能不能脱壳时,可以尝试用“UPX通用脱壳机”功能进行UPX的脱壳。
2.ASPack
ASPack是一款非常强大的Win32压缩工具,可以对EXE DLL 和OCX等进行压缩,但它不像UPX那样内置解压缩功能,不能脱去自身压缩的程序。软件官方主页http://www.aspack.com。
3.Armadillo
Armadillo又名穿山甲,是一个很强悍的保护壳软件,很多商业软件都用它来加密,保护强度非常高。Armadillo的官方主页是http://www.siliconrealms.com/armadillo.shtml。
4.EncryptPE
EncryptPE就是一款加密水平很高的国产保护类型的壳,可以加密保护常规PE文件,放静态分析修改,反动态跟踪调试,有效的保护软件。除了常规的对抗调试器(SoftIce、TRW、OllyDbg等)、监视器、DUMP工具方法外,EncryptPE采用的加密保护手段还有,随机加密算法、CRC校验、变形、代码替换、进程注入、APIHOOK、多线程、调试运行和全程监控等。
EncryptPE还能将普通软件变成共享软件,增加定时注册提醒、限制使用日期、限制试用次数、限制试用天数等。EncryptPE能根据最终用户的机器信息、注册用户及加密时的保护密码计算注册码,从诸多加密算法中随机选择一种用于注册码的计算。软件主页http://www.encryptpe.com。