前言:
之前在做app渗透的时候总是会碰到各种各样的壳,其中最常见的是360免费壳,原因是很多应用都会上传360应用市场,在应用市场中会自动加上一层360免费壳。苹果端也一样,由于苹果端只有一个应用市场appstore,因此同样所有上传到appstore的应用都会加一层官方壳,具体的表现为无法读取到头文件。为此根据个人的一些经验分别对移动端两种系统的加壳以及脱壳方法进行说明。
Android端脱壳方法
Android端加壳历史
第一代壳 Dex加密
第一代壳将整个apk文件压缩加密到壳dex文件的后面,在壳dex文件上写上解压代码,动态执行,由于是加密整个apk,在大型应用中很耗资源,因此这代壳很早就被放弃了但思路还是不变。其中这种加密还可以具体划分为几个方向,如下:
- Dex字符串加密
- 资源加密
- 对抗反编译
- 反调试
- 自定义DexClassLoader<