我有一个小疑问,我试图尽可能地保证我的应用程序的安全性,因此我们可以制作一个只能运行一次的安装文件,然后它就不能在任何PC上运行。这听起来很愚蠢但是有可能。我没有任何代码可以显示,我只想知道我们可以在JAVA中使用它吗
答案 0 :(得分:2)
设置向导实际上并不控制何时或是否运行。它也不能控制一个人想要它运行的次数。所以对你的问题的直接回答是" no&#34 ;;但是,很可能(甚至是可取的)让安装向导检查"工件"以前是跑过去的。
如果你有一个设置向导检测文件或设置,向导将是唯一可能的创建者然后在检测到它时关闭,那么你可以有效地防范向导的关键部分两次跑。
答案 1 :(得分:1)
您可以让应用程序连接到网站以检查它是否已安装但是在安装时需要连接互联网。
然后在安装过程中,您会发送安装通知。
我使用这样的系统。在下载时,它会生成一个序列号并将其插入到一个文件中,该文件稍后由安装系统读取并用于在安装期间“注册”该产品。
答案 2 :(得分:1)
没有。您可以采取一些合理的步骤来使其变得更加困难,但任何真正对打破您的安全机制感兴趣的人都可能会这样做。
您创建的任何内容都可以被复制和执行任意次,即使正在运行的副本随后会自行删除。
这导致每次运行安装程序时都需要对某些服务器进行外部身份验证。然而,这也无法保证工作,只需看看简单/快速的视频游戏DRM是如何破解的。
答案 3 :(得分:1)
您可以从包含true或false的文件中读取。在if语句中包含向导的启动仅在此变量为false时执行,然后在向导结束时将文件更改为true。如果您想让它更安全,您可以加密文件,然后解密以查看它的内容。
答案 4 :(得分:1)
“可能”总是一个棘手的问题,原因有很多。
我认为你不可能以你想要的方式创建它,只是因为你在谈论一个安全问题,如果有人真的有兴趣违反你的安全措施,那么就会有有人比你在锁定时更好。
无论您的软件是否能引起这种兴趣,我都无从得知。安全性中的一个重要问题是“我可以为我的目的使其足够安全吗?”,而且我们对您的要求,预期的威胁模型等知之甚少。
总而言之,我能给你的最佳答案是:如果你想要正确完成安全,不要自己动手。去找专业人士并让他们保护它。您想要了解足够的安全性以评估专业人员,因此您有希望得到您所支付的费用,但您不想尝试编写该代码。你可能擅长编写电子表格或邮件客户端或者你正在编写的任何东西,但你显然不擅长编写安全性,而且这不是你一天学到的东西。