我有一个应用程序(用Java编写),我想限制其功能之一的启动(例如,启动某个功能最多1000次)。该应用程序位于公司Intranet内部,不能使用公共Internet。一个简单的解决方案可能是在加密文件中保存启动时间,但该文件可以由公司的系统管理员(运行应用程序的位置)复制和覆盖。另一个解决方案可能是使用一些轻量级数据库,但我不想仅使用数据库系统来存储一个递减数字。 你知道如何安全地存储这个号码吗?
答案 0 :(得分:0)
没有安全的方法。一旦应用程序完全控制用户,就可以对其进行分析,并且您的每个想法都可能被打败。这就是为什么你有软件,其中许可证限制被删除,有黑客可以解决(离线)DRM等。
通常的做法是严厉限制你的限制。这可以通过重新绑定方式来调试应用程序,尽可能地模糊检查并将它们与应用程序的其余部分交织在一起,以便试图破解限制将导致应用程序出现故障。