APP加密
常用加密方法
伪加密
应用于Android4.2.x系统发布前,通过java代码对APK文件进行伪加密。原理是修改连续4为字节标记为“P K 01 02 ”的后5位字节,奇数表示不加密,偶数反之。
缺点
1、无法进行安全检测,部分市场会拒绝这类APK上传
2、加密和解密方式公开,安全性低
3、Android4.2.x系统无法安装
4、加密方式简单,只对java静态代码保护,核心so库,资源文件,配置文件,三方jar包等未做保护处理
混淆
将原有具体含义的类名,变量名,方法名等修改为无意义名称
运行时验证
代码启动时获取本地签名信息并验证
破解方法:找到smali文件,逻辑判断部分改为true
三方工具加密
爱加密
隐藏classes.dex文件,这样就无法静态破解
加密后,会增加200K左右文件(两个so文件,一个classes.dex文件和三个bin文件)
步骤:
1、将原来的classex.dex用未知的加密算法实现加密成assets/ijiami.dat
2、把事先写好的jni代码和相应的classex.dex替换到原有的位置
3、程序安装完运行起来以后,先运行爱加密的加壳程序,在jni里面动态加载原来的classex.dex代码