在Android APK中混淆资产

我们可以在
Android Studio中使用Proguard来混淆android APK,它会混淆其中的java文件.

问题:我也想混淆存储在Assets文件夹中的文件.

解决方案:我们可以使用需要许可证的Dexguard.

有人可以指出任何免费/开源替代方案吗?

最佳答案 简短回答:最好的选择是创建自定义加密系统.

在正常情况下,您可以运行gradle scrypt(在构建apk之前),使用仅存在于您的计算机上的密钥加密文件.

如果您的应用程序具有某种登录系统,则只要您从登录中获得成功,就可以从同一登录响应中检索密钥并解密文件.

请记住,在解密之前应将文件传递到应用程序的内部存储中(因为您无法直接在assets文件夹中修改文件的内容).

如果您的应用程序不使用Internet,因此您无法通过服务获取加密/解密密钥,则可以将其存储在bytearray或随机命名字符串中.

在任何情况下都不会阻止应用程序被破解并且文件被解密,但肯定会给试图破解它的任何人增加另一层难度.

点赞