做了个B/S的小系统,想通过加密狗保护自己的知识产权

yugiant 2018-01-11 08:15:24
系统B/S架构,在S端放置加密狗,这样做到没有加密狗整个系统无法运行,这样可以保证系统不会被随意复制就使用
请问这样的想法合理吗,能否实现,有否现成的产品或方案可以推荐
望指教,谢谢
...全文
668 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheng2005 2018-01-12
  • 打赏
  • 举报
回复
引用 5 楼 daixf_csdn 的回复:
我提出一个问题,给楼上的各位。如果是有客户端的联网系统,其本地的dll,使用反编译软件,找出加密狗的调用位置,然后只修改调用的那几行,再重新生成新dll,从而绕过加密狗校验(如果不是加密狗,是联网校验也同样)。这种情况如何避免?
DLL能签名的,理论上私钥不泄密的话,没法伪造dll,除非把整个系统都重新编译,那样的话工程量巨大,不比重新编写一个系统容易。
圣殿骑士18 2018-01-12
  • 打赏
  • 举报
回复
我提出一个问题,给楼上的各位。如果是有客户端的联网系统,其本地的dll,使用反编译软件,找出加密狗的调用位置,然后只修改调用的那几行,再重新生成新dll,从而绕过加密狗校验(如果不是加密狗,是联网校验也同样)。这种情况如何避免?
  • 打赏
  • 举报
回复
联网其实完全不用考虑狗。 关键业务逻辑放在服务器上,每次执行业务逻辑的时候传入请求时间请求客户编号(guid)请求逻辑,请求参数,在做一个加盐的验证码(slat)。 服务器执行后返回数据,这样狗都不用,做个后台控制客户编号的可用时间就能实现控制了。 破解随便破,破多了直接禁用这个guid更新盐。
  • 打赏
  • 举报
回复
引用 5 楼 daixf_csdn 的回复:
我提出一个问题,给楼上的各位。如果是有客户端的联网系统,其本地的dll,使用反编译软件,找出加密狗的调用位置,然后只修改调用的那几行,再重新生成新dll,从而绕过加密狗校验(如果不是加密狗,是联网校验也同样)。这种情况如何避免?
我的解决方案是实际业务逻辑都在服务器端,你破解了也就是个和服务器端通讯的框架和窗体集合,实际业务处理都在服务器端部署,你用什么方式都行。 这样我把客户端开源,服务器端api开放都没问题。
圣殿骑士18 2018-01-12
  • 打赏
  • 举报
回复
引用 6 楼 wddw1986 的回复:
[quote=引用 5 楼 daixf_csdn 的回复:] 我提出一个问题,给楼上的各位。如果是有客户端的联网系统,其本地的dll,使用反编译软件,找出加密狗的调用位置,然后只修改调用的那几行,再重新生成新dll,从而绕过加密狗校验(如果不是加密狗,是联网校验也同样)。这种情况如何避免?
DLL能签名的,理论上私钥不泄密的话,没法伪造dll,除非把整个系统都重新编译,那样的话工程量巨大,不比重新编写一个系统容易。[/quote] 不错的办法,这块还不太了解
秋的红果实 2018-01-11
  • 打赏
  • 举报
回复
要知道没有100%的安全,只要增加破解难度就可以了,破解费用远超过你的系统本身的商业价值,谁还会去破解 ------------------------\0
秋的红果实 2018-01-11
  • 打赏
  • 举报
回复
可以,我就是这么做的! 要网络版的硬件狗,一般的系统,足够了

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧