1. 问题说明

APP 软件 AndroidManifest.xml 中的属性值 android:debuggable 如果为 true,那么 APP 可以被 Java 调试工具例如 JDB 等进行调试。当 APP 被调试工具进行调试后可以获取和篡改用户敏感信息,甚至可以分析然后修改代码以实现恶意的业务逻辑,我们经常使用 android.util.Log 来打印日志,而 APP 发布后调试日志能被其他开发者看到,APP 就容易被反编译破解。

2. 测试步骤

检查 AndroidManifest.xml 文件中的 debuggable 属性 (MobSF),检查其是否能被调试。如果没有设置 debuggable 属性,该属性默认为 false。

Debug 模式 - 图1

3. 修复建议

建议移动客户端 APP 在正式上线之前关闭 Debug 模式,这样移动客户端 APP 在进行正常的业务逻辑时就不会打印任何有关用户和服务器的敏感信息了。