专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 信息/网络安全

关于软件加密办法解决思路

发布时间:2011-07-03 07:08:52 文章来源:www.iduyao.cn 采编人员:星星草
关于软件加密办法
我现在做一个软件注册加密程序,是用来加密定制的嵌入试系统的。没有注册解密的系统,会弹出提示框,注册解密后就不会了。程序最终是会做到系统里面去的。
  我现在的办法是:1 先取用户机器的硬件标识;2 处理后作为序列号(SN);3 由SN码通过加密算法得到解密码(ID);
4 在用户的指定文件路径或注册表位置查找ID;5 判断有算法得到的ID与从用户机器找到的ID是否相同,不同说明未注册,相同说明已经注册;6 如果未注册则每过一段时间弹出对话框来提示用户,注册过则此程序退出。
  我在网上看到很多注册加密程序基本都是这样一个步骤。我们经理认为,由于在内存中存在SN(KEY)=ID的过程,算法与Key 都会在内存中出现,这样很容易被破解的。而且我们的KEY做在程序里的,都一样,这样被人知道就什么都没有了。经理想让我找个更好点的策略,我找了些资料,也确实找不出什么办法了。经理提示说,可以参考银行的信用卡系统。
  不知道大家有没有更好的办法,提示一下。

------解决方案--------------------
4 在用户的指定文件路径或注册表位置查找ID
为什么不放在嵌入式系统里面,放在用户机器上被破解只是时间问题
------解决方案--------------------
采用RSA加密算法
------解决方案--------------------
如果你们的软件价值很大的话,采用加密狗吧。
------解决方案--------------------
想要口令不出现在内存中,只能使用智能令牌。否则你使用什么加密算法都没有用,都可以反编译出来。

------解决方案--------------------
如果想要安全的话,不要在一处判断。
不要用一种方式判断。

其他没有好的办法
------解决方案--------------------
首先程序的数据都是存在内存中的,这个是无法改变的,就算你存储在其他地方,最后运算的时候也要读进内存。
防止用户更换机器的话根据机器码hash一下就行了,没必要一定用个key
------解决方案--------------------
用智能卡的话,数据可以不出u盘
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: