如何让我的vb.net程序相对安全

时间:2016-02-04 19:18:13

标签: vb.net reverse-engineering

我在vb.net上写了一个小程序,我正在寻找一种简单的方法来阻止人们复制可执行文件并在另一台机器上运行它,以便在没有安装程序的情况下进行逆向工程。据我所知,如果人们希望程序足够糟糕,他们会找到一种方法来掌握它,我基本上只是寻找某种威慑力来阻止我们的竞争对手走动并复制它。

2 个答案:

答案 0 :(得分:0)

洛根,

坏消息是,您无法阻止人们对您的桌面应用程序进行逆向工程。您有两个选择:

  1. 改为创建Web应用程序。代码将在您的服务器上安全运行。
  2. 使用远程桌面服务。这样,您可以在服务器上安装程序,并让用户通过RDS使用它。这篇文章说明了这个概念以及如何在Microsoft Azure上实现它:https://technet.microsoft.com/en-us/library/cc755055.aspx

答案 1 :(得分:-2)

标准方法是创建仅在特定计算机上运行并将其存储在注册表中的许可证密钥。这可以是简单的事情:

  1. 当您的应用开始获取唯一的计算机ID(http://www.dreamincode.net/forums/topic/181408-get-unique-machine-ids/
  2. 在其上执行单向哈希
  3. 查看此值是否存储在注册表中
  4. 如果不是,则显示一个对话框,显示唯一的机器ID并要求“许可证”
  5. 接受许可证的输入,以便他们不需要再次询问
  6. 您可以为要运行该软件的计算机自行手动计算单向散列。

    这不会阻止一个坚定的黑客,但它会让99.9%无法破解你软件的人保持诚实。