【问题标题】:Foolproof trial strategy万无一失的试用策略
【发布时间】:2010-10-24 11:11:51
【问题描述】:

我知道已经存在关于 SO 的类似问题。但我的问题更具理论性。

我想知道,是否可以设计一个万无一失的试用系统?万无一失是指即使破解者知道这种系统的算法也无法破解的系统?

对不起,如果不是编程问题。

编辑:我认为我应该让我的问题更实用。我问的是整个系统,而不是独立的应用程序。系统由装有 Linux 操作系统的 PC 和一些与之连接的硬件组成。也许我可以使用 HDD 加密?

【问题讨论】:

    标签: shareware trialware time-trial


    【解决方案1】:

    可能唯一的方法是基于 Internet 的“软件即服务”应用程序。如果您不提供访问权限,他们就没有使用该软件。如果它是基于桌面的应用程序,那么某些关键功能仍然必须位于某处的在线服务器上。

    如果黑客在其本地计算机上拥有整个应用程序,则可以对其进行逆向工程并以某种方式“破解”。克服这个问题的唯一方法是确保某些功能永远不会出现在他们的机器上。

    【讨论】:

      【解决方案2】:

      拥有防破解软件的唯一(理论上)方法是拥有一个完全封闭的系统。如果您控制了从硬件到操作系统再到应用程序和开发工具的所有内容,则可以防止篡改。

      请注意我说这是理论上的。不可避免地,你会找到一个硬件黑客,他会想办法修改硬件(参见modchips)。从那里,他们可以加载他们想要的任何软件并修改已经存在的软件。

      适用于物理安全(保险箱、保险库等)的相同模型也适用于软件。关键是使窃取/复制商品的成本高于通过合法方式获取商品的成本。您永远无法创建一个万无一失的系统,但您可以轻松地防止脚本小子和爱好黑客破解您的产品。另一方面,专业人士为破解而活。他们会找到办法的。

      【讨论】:

        【解决方案3】:

        您可以将您的应用程序设计为依赖于除您之外的任何人都可以控制的远程服务器。

        【讨论】:

          【解决方案4】:

          没有。您可以让它变得非常困难,但您的问题相当于“我怎样才能让某人运行代码但不让他们运行代码。”

          例如,您可以省略代码的一小部分但很关键,并要求从您控制的服务器下载该代码。这使您可以跟踪试用活动并关闭特定用户。但是,一旦他们收到代码,他们就可以捕获它并构建一个不受阻碍的产品版本,只要有足够的工作。

          【讨论】:

          • 我认为这相当于“我怎样才能让某人运行代码但不让他们复制或修改它”。
          • 我想是的。或者“我怎样才能让某人运行所有代码,而不是他们选择的子集。”
          猜你喜欢
          • 2016-01-25
          • 1970-01-01
          • 2011-05-29
          • 2014-01-05
          • 1970-01-01
          • 1970-01-01
          • 2014-01-12
          • 2012-12-24
          • 2013-12-29
          相关资源
          最近更新 更多