有许多关于IP安全性之类的,但没有,我可以找到专门针对的算法的一些及时的职位。在我目前的项目之一,我们决定去离线注册密钥系统的路径。

我想我们大多数的最终用户群将是老实人,所以我不认为我们有太多的担心。在另一方面,我宁愿没有没有一个很好的协议汗水和泪水的休闲黑客获得访问权。

那么,究竟是如何产生的(和验证)的关键一些选项?硬件密钥是最有可能,因为安装模式是从Samba共享内部网服务器上运行。此外,应该主要是多久?

其次,有多大验证算法的危险简单地体现了出来,哪怕是模糊的?它会更好写在非托管代码的算法,而不是

有帮助吗?

解决方案

在我看来,你将面临的关键问题不在于混淆你的准算法和水平(或缺乏)。

相反,那就是:在代码中的某个点可以归结为简单的二元决策 - 运行,或者退出。黑客您的系统只需要寻找和调整这个决策点。

一切 - 混淆,强签约,篡改检测 - 是面向使这更困难,但不能让它的的更难

其他提示

通常你想要做的就是选择你想在喜欢谁拥有它,它到期时,甚至可能是一些小件的代码的应用程序需要正常工作的关键,包括一些数据(从而使其难以使它不工作的重点)。然后使用像RSA数字签名方案进行数字签名与贵公司的私人密钥的密钥。分发与应用程序可执行文件的公钥。然后,当你加载密钥,只需验证签名是有效的,然后使用包含在关键的数据。甲1024或2048位的密钥应该是足够用于此。

当然,无论你的代码是如何复杂的是总会有人能打破它或它周围得到。所以,你要问自己的问题是你想如何很难说(记住比较困难的方案是很难编写和维护你)?有收益递减点,通常这是非常低的。只要程序在没有一项重点工作,关键是够复杂了,你不能假的(或者更改有效期等)用十六进制编辑器,那么你可能是罚款。

至于出重构的关键,在非托管的书面方式,如果他们杀调用点从托管到非托管可能不会帮助。一个选项你有混淆,如果您使用Dotfuscator的专业是为了让自己的“篡改检测”基本上他们标记你的装配,如果有人修改了你可以有你的代码做各种事情。当然,黑客可以删除此,但其更大量的汗水和眼泪。

我只找到了一个方法来锁定代码非常好。几乎连续验证的每一种形式可以通过你的平均第二年的程序员很容易被破解。

我已经做它的方式是在.NET使用许可对象。在我家种的许可对象时,它读取“许可证”文件,以找出“家”。这许可是加密的字符串。私钥该字符串是在许可证对象。

许可证对象然后用一个秘密的密码,也进行了加密电话回家。服务器解密密码并验证它...欺诈调查的情况下,也记录IP地址和用户名。如果服务器可以验证密码,它会回应一个秘密的响应,再次加密的,因此不能被欺骗。如果它不能被验证,则连接断开。没有响应被发送,从而在另一端的许可对象失败。

当综合许可对象失败,它将自动抛出异常,迫使应用在点许可证被称为失败并退出。

我花了大约两个工作日内写的服务器和许可对象,所以这是一个有点锻炼的,但不是火箭科学。

如果你想要一些样品来源,或更多的信息,让我知道。我会很高兴让你我所能。

您可能想看看答案的这个问题

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top