记录应用过等保遇到的各种问题和解决方式
应用加固
目前网上的第三方应用加固很多,我试了大多数第三方加固平台,腾讯加固、爱加密、360加固是比较好用的,使用他们平台的基础版能解决50%-80%的问题,剩下的可以自己尝试解决,可以接触一些新的知识,实在不行再购买他们的升级版本。
未成功的加固研究
在第一次尝试了第三方应用加固之后,风险测评还剩下50%,还是有一堆看不懂的高风险和专业的名词,于是只能上网找各种资料,然后就想用github上的源码实现下应用加固,看看自己能否弄得出来,github的加固源码有兴趣的你们也可以试试,下面是我试出来的坑。
- 由于时间有点久,他的部分代码需要严格按照他的版本号
- 安装环境里面少了python 2.7.13、apktool 2.5.0,后面的数字是我用的版本号
- 过程中肯定还会遇到其他问题,每个人的处理方式不一样,就不说了。
- 最终虽然成功将apk重新生成了一个apk,但是无法安装,手机连接之后查看日志打印,说是so文件损坏,瞬间就不好了,没有那么多时间让我研究,就放弃了,对自己有信心的朋友,可以自己试试。
应用签名
- 使用jdk生成自己的签名文件生成教程
- 准备一个apk
jarsigner -verbose -keystore 签名文件路径 -signedjar 未签名apk路径 签名后apk路径 签名别名
这个方式只能解决签名的问题,但是如果风险里面还有Janus签名机制漏洞的话,就需要加上v2的签名方式,推荐使用360加固助手,里面有v2的签名方式
apktool的使用
首先我用的apktool版本是2.5.0,安装教程
由于要对打包好的apk文件进行修改,所以需要apktool的编译和反编译,能够在不损坏apk安装包的前提下,修改某个参数或者文件。
因为和上面教程版本不一致,我直接使用的话会导致打包文件变小,加上-f -s的参数即可,直接上干货:
反编译
apktool d -f -s text.apk
编译
apktool b text -o text_1.apk
记得重新签名