移动端安全测试-代码篇(反编译)

版权声明:本文未经允许谢绝转载,如果允许转载情况下,请注明出处及本文地址 https://blog.csdn.net/m0_37268841/article/details/86626315

Mobile的安全测试之前一直关注的是应用本身,没怎么关注过代码--这是我的弱项。

以前在公司做开发,没有测试,代码验证这块都是自己做,所以现在做安全我也很少去做代码验证这块。

在我的概念里面,代码只有完全没问题了才能拿出去溜溜。。。

但今天收到的移动端安全问题就是代码方面的。有完整性问题,逆向分析和二次打包的安全问题存在。

解决方案:

这边的解决方案是客户提供的,开发代码中第三方加固。至于怎么加固我这边就不细说。

我这边介绍一下针对上面三个问题我做的安全验证:

逆向分析:

1. 开发给一个加固后的新包,将apk修改为Zip文件,解压缩后有个clases.dex文件,这里面就是java源码

2. 下载dex2jar,解压

3.将上面的clases.dex文件拷贝到dex2jar目录里面

4.执行命令d2j-dex2jar.bat classes.dex

5.下载JD-Gui,下载下来是Zip文件,解压后会被杀毒软件隔离,个人建议之前就在杀毒软件上面做个例外处理

  注:从安全角度来看,用完记得把它干掉。

6. 打开Xjad.exe

7.然后再打开上面的.\classes-dex2jar.jar

8.运行完后发现:

9. 这里面都是java代码,你可以看看里面有没有自己代码泄露。

安全性检测和二次打包

1. apktool 工具安装

2. apktool d 上面的新打包apk文件,

3.生成的文件中修改app_name和图表

  Path:      /res/values/strings.xml  ---->搜索app_name进行修改

                 /res/values/drawable-hdpi 文件夹里面对图片进行修改

4. 重新编译文件夹:

  5. 反编译失败,可以看出开发代码层安全加固成功。                 

猜你喜欢

转载自blog.csdn.net/m0_37268841/article/details/86626315