我想为我的应用程序制作一个演示版本,它只工作 15 分钟。最好的方法是什么?
例如我可以:
- 在我的应用程序中启动一个
Thread
等待 15 分钟然后阻止对该应用程序的访问,但如果用户重新安装该应用程序,则再次可以工作 15 分钟。 - 另一种方法是在数据库中记录状态,但如果用户再次清理应用程序的数据可能还有 15 分钟......
什么是最可靠的解决方案?
正如您从评论中看到的那样,目前不可能在不使用用户无权访问的东西(即服务器)的情况下保护应用程序。但我想我会发布一种方法来保护我的应用程序中很难绕过的东西。
之所以困难,只是因为它晦涩难懂,而安全的第一条规则是晦涩难懂不是安全。然而,它将击败 95% 的自由人,并且至少会减少滥用。还。您应该了解代码中最薄弱的地方是进行检查的位。你也需要让它变得非常模糊,并使用一些 baksmali 检查你的代码以检查它是否真的是模糊的。
这种方法很难破解加密资产,但如果您执行类似if(myData.isGood())
.
该方法。
扩展ImageView
类。
将您的扩展实例添加ImageView
到您的主布局中。
将它的源设置为应用程序中的资源,例如应用程序图标。
覆盖onDraw()
扩展 ImageView 的方法,并在其中从 ImageView 位图中的任意位置获取字节数组。实际上,一组随机字节。
绘制透明墨水,Canvas
以便看不到 ImageView。
使用这些字节作为私钥加密/解密您的数据/字符串/资产。