我正在开发一个 Android 应用程序,我计划在 Google Play 商店的“Open Beta”中发布这个版本。
我想实现应用程序安全逻辑,以确保测试版不会在特定日期dd/MM/YYYY 后运行。
目前,我可以想到这种逻辑的两种方法:
从设备中检索当前日期(使用 Android 代码检索系统时间)
问题:用户可以更改设备日期以破解安全系统
使用时间服务器查看当前日期
问题:我的应用程序不需要互联网连接,因此如果我在应用程序启动时要求互联网连接,用户体验会很差
我有以下问题:
- 可以使用哪些替代方法(检查日期除外)来确保应用在日期 dd/MM/YYYY 之后无法运行?
- 如何检测用户手动更改了设备日期?
- 即使设备处于离线状态也能找到当前日期的其他方法?
编辑: Beta 版免费提供所有高级功能,因此我不希望 Beta 版在日期 dd/MM/YYYY 之后工作。
新问题:
我已经实现了在应用程序开始时使用时间服务器检查实际日期的代码。在日期 dd/MM/YYYY 之后,用户可以采取哪些可能的黑客手段来访问应用程序?
提前谢谢你。
最佳答案
同意您不希望设备依赖于互联网。然而,在某些时候,设备将在线(自安装您的应用程序以来,人们永远不会让他/她的设备离线)。那时你检查时间戳并从那里继续。您可以禁用该应用程序或执行任何操作。当且仅当网络连接时,许多应用程序才会表现出这种行为来运行操作。 除了网络和设备时钟之外,您唯一的其他最终解决方案是从安装应用程序的那一刻起运行后台计时器。祝你好运
关于android - Android 应用程序的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39768899/