将解压出来的classes.dex文件拷贝到dex2jar工具文件夹中
执行命令:d2j-dex2jar classes.dex
执行完毕后,得到反编译而来的classes-dex2jar.jar文件
使用jd-gui.exe或者luyten-0.5.4打开 classes-dex2jar.jar文件,得到360安全加固混淆加密的源代码。
apk编译为smali语言:
java -jar [apktool_2.3.4.jar] d -f [apk地址] -o [输出目录]
java -jar apktool_2.3.3.jar d [-s] -f C:\Users\bk\Desktop\天府科技云APP\天府科技云服务平台.apk -otfkj //遇到类似于淘宝app无法反编译这样,-s代表只反编译xml文件
java -jar apktool_2.3.3.jar d -f C:\Users\bk\Desktop\天府科技云APP\天府科技云服务平台.apk -otfkj
或者:
apktool.bat d 天府科技云服务平台.apk
4.检查AndroidManifest.xml文件
java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest.txt
或者
java -jar APKParser.jar 天府科技云服务平台.apk > AndroidManifest.txt
1.开启应用程序数据可备份:
allowbackup备份权限,ture则存在备份数据泄露风险(未配置的情况下,tp钱包下载app官网正版默认为TRUE)
2.开启不安全的debug模式:
Debuggable属性, tpwallet官网下载true则存在应用信息篡改泄露风险(未配置的情况下,默认为FALSE)
5.检查是否存在Janus漏洞
(1)Janus漏洞(基于Janus漏洞,攻击者可以修改APP而不影响其原始签名,篡改后的APP可以成功安装运行。应同时使用V1+V2签名)
6.应用完整性校检
将反编译出来源码中修改图片文件名为test.png
进行重新生成apk包,命令如下:
java -jar apktool.jar b -f 待打包的文件夹 -o 输出 apk 路径
或者
apktool.bat b天府科技云服务平台
天府科技云文件下便可以发现多了2个文件夹:build,dist(里面存放着打包出来的APK文件)
重新签名APK命令如下:
java -jar signapk.jar testkey.x509.pem testkey.pk8 待签apk文件路径 签名后输出apk路径
然后重新安装apk,如果重新能安装上,则文件完整性被破坏掉
二.组件安全测试