程序在哪里保存其秘密许可证或安装相关信息?我注意到,卸载程序时经常清除appdata引用,检查注册表以确保没有任何相关信息的残留。
如果您再次重新安装试用程序,它似乎知道它之前已安装。我不打算找到破解试用程序的方法,但实际上需要实现类似的东西,但却无法找到有关如何执行此操作的任何有用的信息。
答案 0 :(得分:18)
cmd.exe -o 2010-02-09
答案 1 :(得分:5)
我已经用两种方式解决了这个问题。首先,在Windows应用程序中,我输入了一个加密的注册表项,该注册表项不在标准位置,因此不容易找到。如果您不介意a)经常重新格式化删除所有注册表项或b)在虚拟机上使用您的软件可以快速恢复到预审状态(因此您的线索可以),这是一个很好的解决方案再次使用。)
更好的选择是拥有一个在线注册表组件,该组件可以捕获加载试用版的计算机的MAC地址。每当重新加载试用版时,软件都会检查Web服务以查看之前是否已查看过MAC地址。解决此问题的唯一方法是再次使用能够更改MAC地址的虚拟机。但是,如果您的用户达到了极限,他们就会使用您的试用版。
答案 2 :(得分:3)
可能最简单的许可方式(正确完成时)是通过用户实际拥有的东西 - 某种硬件加密狗。
当然,它也有许多缺点:
if(dongle_ok()) { do_stuff() }
都是邀请破解者将其修补到if (1) { do_stuff() }
... 对于大多数程序而言,其缺点远大于优点;但是,如果你正在制造昂贵,复杂的软件(想想“生产工厂控制”),那么你的客户对许可就比较狡猾(换句话说,“会购买一份副本(必要时可以破解)并在50台机器上运行如果他们可以逃脱它“),并且诉讼是不切实际的(花费太长时间,你没有太多证据,不确定的结果),这可能是有用的。 (我没说简单,是吗?)
答案 3 :(得分:2)
他们将它保存在任何地方,秘密文件,秘密注册表项。有商业产品提供这种保护,如asprotect,犰狳等。
答案 4 :(得分:1)
某些产品将使用ADS(备用数据流)并在各个地方隐藏数据。
其他人会留下“rootkits”咳嗽 SONY。
还有一些会创建无法轻易删除的特殊注册表项,例如name中包含NULL的条目。
有时候取决于开发人员的严谨程度。
答案 5 :(得分:0)
还可以尝试隐藏文件或文件夹 - 大多数用户不知道显示隐藏文件和文件夹。然后你可以把它放在任何地方。 C:/ WINDOWS有时是一个不错的选择,因为当你第一次点击它时显示的那个愚蠢的窗口显示“危险!不要编辑这个文件夹中的任何内容或你的操作系统会失败!”这将隐藏大部分人和外行人,但让我们面对事实,你并没有隐藏任何活跃在堆栈溢出上的人。 :)