继之前的安全测试学习,对于现有的项目做了部分角度的安全测试。做个记录。
《一》应用反编译
工具:
apktool:
主要查看res文件下xml文件、AndroidManifest.xml和图片。(注意:如果直接解压.apk文件,xml文件打开全部是乱码)
Smali2JavaUI:
较老的教程都是用的(dex2jar、jd-gui),先dex2jar把classes.dex转为jar,再jd-gui把jar转为源码*.java文件。
现在可以用Smali2JavaUI这个软件,一部到位。可以把这两个步骤化为一个步骤。
原开发者的网站已经被和谐了,博主留下的愤言还是值得回味的。http://www.hensence.com/cn/
所以,如果只想反编译看*.java文件的话,只用Smali2JavaUI软件就可以了。
这个软件可以直接打开***.apk文件,然后就直接看到*.java文件了。其实他已经集成了apktool,只是如果apktool有新版本的话,最好自己手动反编译。
步骤:
1.安装最新版apktool:https://ibotpeaches.github.io/Apktool/install/
(1)解包
$ apktool d app-release.apk
(2)重新打包
$ apktool b test
运行CMD,进入比如app-release.apk所在目录,然后运行apktool d app-release.apk,默认解压的文件就在app-release.apk所在目录。
2.直接用Smali2JavaUI打开需要反编译的apk,检查是否混淆,检查代码及配置信息,有无敏感的账号信息等。
实际的黑客还可以针对应用是否需要付费等相关代码进行篡改,比如我现在用的charles破解版,就是把其中的注册验证段的代码给修改后,二次打包。绕过了服务器的验证。
目前我们的互联应用主要还是服务端去验证相关的数据权限。so,看到混淆基本就测试pass了。