1. 问题说明
如果移动客户端的代码没有被相应加固保护,则很容易被攻击者破解进行反编译,通过反编译攻击者可以获取到移动客户端的源代码。
2. 测试步骤
尝试使用 Apktool 反编译 APK 检查是否能够正常反编译,如果能反编译就分析核心功能的 Java 代码。这里也可以使用 Jadx进行反编译,查看 APK 是否进行了加固,是否进行了代码混淆,如果没有则说明存在问题。
如下图所示,经过混淆保护的代码,其最明显的特征是大部分类和变量名都被替换为简单的 abcd 字母。
3. 修复建议
建议对移动客户端进行加壳处理以防止攻击者直接反编译移动客户端 APP,同时最好对移动客户端 APP 的代码进行混淆处理。