【发布时间】:2020-05-02 01:32:35
【问题描述】:
我的应用中有一个常量 - arraylist。
例子:
private String [] word = {"A","B" };
我使用了 pro-guard,但是当我尝试进行逆向工程时,我可以得到 arraylist。我必须输入超过 2400 个单词,并且只需通过逆向工程就可以获得arraylist。请给出一个解决方案,以确保没有人可以得到arraylist。我可以将arraylist 放在build.gradle 或任何地方以使其安全吗?
【问题讨论】:
-
“请给出解决方案以确保没有人可以得到数组列表”可能不是你想听到的,但那是不可能的。任何程序都会被足够积极的对手破解。
-
那么有没有办法让它安全呢?我们可以将字符串放入 build:gradle 中,也可以检索它。
-
@lavedar:如果数据在您让用户运行的二进制文件中,那么数据在用户可以读取的文件中。它可能会被混淆或变得更难,但你不能让它不可访问,因为这也会使你的代码无法访问它。确保用户看不到某些数据的最简单方法是不将其提供给他们。 IE。将数据放在某个服务器上,在该服务器上运行任何操作,然后只将数据交给您真正希望他们拥有的用户。
-
如果您想保存敏感信息,请尝试使用AES encryption/decryption
-
@RahulGaur:如果您的代码可以在手机本地解密和使用数据,那么任何人都可以反编译您的代码。在这种情况下,这只是美化的混淆。
标签: java android proguard data-security