我的盗版应用程序安全性取决于我的数据库中的字段。用户必须激活在我的数据库中写入Bought的应用程序。 但问题是,如果一个新用户安装我的应用程序并从已购买密钥的某个人那里替换所有数据库,那么该应用程序也会在不购买密钥的情况下变为活动状态。
我是否有可能将数据库标记为使用特定设置进行识别?
由于 Furqan
答案 0 :(得分:0)
由于某人几乎总能找到一种方法来破坏您实施的安全措施,因此您应该寻求一种解决方案,以防止大多数不熟练的用户无需支付费用就可以使用您的软件不要让合法用户过度痛苦。
为此,我认为将状态存储在数据库中会有问题,因为复制数据库很容易。如果必须这样做,最好的办法是从MachineGUID
注册表项中获取HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography
,然后使用双向或单向加密算法加密此值并将其存储在数据库中。
当您的应用启动时,您可以获取MachineGUID并对其进行加密,然后将encyrpted值与数据库值进行比较(如果是单向加密)或解密数据库值并将其与注册表值进行比较(如果双向加密) )。
您需要提供一种机制,允许用户在必须将数据库移动到其他计算机(即小型Windows应用程序)时更新注册,但您可能需要他们从您那里获取特定的注册码在注册之前可以更改。