有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否可以创建只运行一次的安装向导?

我有一个小疑问,我试图使我的应用程序尽可能安全,所以我们是否有可能建立一个安装文件,将只运行一次,之后它不应该运行在任何电脑上。这听起来很愚蠢,但它是可能的。我没有任何代码要显示,我只是想知道我们能用JAVA实现它吗


共 (5) 个答案

  1. # 1 楼答案

    您可以从包含true或false的文件中读取。在if语句中包装向导的启动,使其仅在该变量为false时执行,然后在向导结束时将文件更改为true。如果你想使它更安全,你可以加密文件,然后解密,看看它说什么

  2. # 2 楼答案

    “可能吗”总是一个棘手的问题,原因很多

    我认为你不太可能创造出你想要的工作方式,仅仅因为你在谈论一个安全问题,如果有人对违反你的安全措施非常感兴趣,那么会有人比你更擅长破解

    我不知道你的软件是否会激发这种兴趣。安全中的一个重要问题是“我能否使其足够安全以满足我的目的?”,我们对您的需求、预期的威胁模型等了解不够

    总而言之,我能给你的最好答案是:如果你想要安全措施做得好,不要自己做。去找专业人士,让他们保护它。你想对安全性有足够的了解来评估专业人员,所以你有希望得到你所付的费用,但你不想尝试编写代码。您可能擅长编写电子表格或邮件客户端或其他任何您正在编写的东西,但您显然不擅长编写安全性,而且这不是您一天就能学到的东西

  3. # 3 楼答案

    安装向导实际上无法控制何时或是否运行。它也无法控制一个人希望它运行多少次。所以对你的问题的直接回答是“不”;但是,让安装向导检查上次运行的“工件”是完全可能的(甚至是可取的)

    如果安装向导检测到一个文件或设置,该向导将是唯一可能的创建者,然后在检测到该文件或设置后关闭,则可以有效地防止向导的关键部分运行两次

  4. # 4 楼答案

    不可以。你可以采取一些合理的措施来增加难度,但是任何真正有兴趣破坏你的安全机制的人都有可能做到

    您创建的任何内容都可以被复制和执行任意次数,即使正在运行的副本随后会删除自身

    这导致每次运行安装程序时都需要对某些服务器进行外部身份验证。然而,这也不能保证有效,仅以破解视频游戏DRM有多容易/快速为例

  5. # 5 楼答案

    您可以让应用程序连接到一个网站,以检查它是否已安装,但在安装时它需要internet连接

    然后在安装过程中,您将发送安装通知

    我使用这样的系统。下载时,它会生成一个序列号,并将其插入到一个文件中,该文件稍后由安装系统读取,并用于在安装过程中“注册”产品