我已经制定了一个程序,需要在出售给客户之前进行许可。由于我不确定,至少会让我获得商业授权软件的成本,所以我不想买一个。.Net实时软件许可
所以我在寻找咨询如何实现具有以下逻辑许可功能:
- 所有许可证密钥是在服务器端验证,每次应用程序启动(无许可信息存储在使用侧除了许可证数)。
- 只有一个应用程序在同一时间运行一个许可证密钥。
我不知道的是如何保护我的程序免受简单的反编译和反汇编,以及删除一个调用来检查许可证?或者让自己的服务器在每个许可证上做出响应。这种安全性通常如何?
我已经搜索了免费的SDK或类似的东西,但找不到任何东西。 我会非常感谢您的帮助! P:我并不渴望使系统“坚不可摧”,但我希望得到的保护花费比开发该程序副本5.10美元更加昂贵。
P.P.S:抱歉我的英文不好。
你是否认为这意味着当他们有一个工作的Internet连接您的用户只能启动应用程序?这可以排除很多笔记本电脑/移动用户以及任何连接不畅的人。另外,你到目前为止尝试过什么?你的问题表明缺乏研究,而这往往导致问题被封闭或忽略。 – 2012-08-01 11:00:14
http://msdn.microsoft.com/en-us/magazine/cc164108.aspx说明如何强烈地命名组件会阻碍组件篡改。对于Web服务,您应该考虑在接受响应之前使用必须由客户端验证的服务器证书。但是,这会阻止所有离线用户使用它。 – Ramesh 2012-08-01 11:25:24
对不起,认为这个问题很明显。到目前为止,我已经写了一个webservice和一个客户端来检查许可证 - 它可以正常工作,但是关闭此类防御措施非常简单...因此,我问如果有人能够就如何防范这一问题提供建议。只要我的应用程序是在线游戏自动化 - 我的用户都必须有良好的互联网连接,所以它不会成为实时检查的问题。模糊处理是好的,但混淆后我仍然可以在调试赶上事件和跳过去...... – CodeDemen 2012-08-01 11:26:45