> 文章列表 > 逆向分析——壳

逆向分析——壳

逆向分析——壳

你脑海中的壳是什么

壳在自然界是动物的保护壳,软件同样有保护壳,为了防止破解

                        也许大海给贝壳下的定义是珍珠,也许时间给煤炭下的定义是钻石

                                                                ——沙与沫

壳的由来

在DOS时代,壳一般指的是磁盘加密软件中的一段加密程序

后来发展为LZEXE之类的压缩壳,加EXE文件压缩之后,在文件上加一层在软件执行时自动将文件解压缩的壳,以达到压缩EXE文件的目的

随着软件保护需求的日益旺盛,出现了加密壳,使用各种反跟踪技术保护程序不被调试,脱壳

有商业壳,也有个人开发的壳

很多木马和病毒是用壳来保护自己的

对于私人壳,很多杀毒引擎会直接把壳当成木马和病毒处理

更多商家依赖于加密算法

公开的壳会有人去研究,就会有脱壳软件,但是没有脱壳软件的就需要我们自己手动脱壳

压缩壳

侧重于压缩的壳,压缩壳可以减少软件的体积,加密保护不是重点

UPX

有DOS,Linux和Windows版本

官网

ASPack

是一款Win32可执行文件压缩软件,可压缩Win32可执行文件EXE,DLL,OCX

官网

加密壳

ASProtect

是一款功能强大的Win32保护工具

有压缩,加密,反跟踪代码,CRC校验和花指令等保护措施

Armadillo

Armadillo是穿山甲的意思

正在上传…重新上传取消

 有Public和Custom两个版本

可以为软件加上多种限制,包括时间,次数,启动画面等

有“CC保护”,扫描程序,处理标签里的跳转指令,将所有跳转指令换成INT3指令,机器码是CC,Armadillo是双进程运行的,子进程遇到CC异常,父进程会截获这个INT3异常,计算出跳转指令的目标地址并将其反馈给子进程,使子进程继续运行

EXECryptor

为目标软件添加注册机制,时间限制,使用次数等附加功能

Themida

是一款商业保护软件

用了虚拟机保护技术,在程序中善用SDK

缺点:生成的软件体积有点大

虚拟机保护的软件

虚拟机介绍

是一个由编译器,解释器和虚拟CPU环境组成的

会严重影响代码的性能,用效率换安全

脱壳

加载过程

比原代码更早地获取控制权,壳修改了原程序执行文件的组织结构