对一种加密保护的思想的一点分析.....
【声明】
我写文章以交流为主,希望大家在转载时能保持文章的完整性。
作者: ljtt
写作日期: 2001-05-08
【前言】
有段时间没有写东东,主要是肚子空空如也,没有什么可写的了,这会只好又拿点葫萝卜加白菜的方法,凑合着向大家推销点东西了。
不巧的是今天正好赶上"欢乐时光",希望不会在我写到最后来个什么惊.....
【分析对象】一类共享软件的保护机制
此共享软件的合法使用方式:电子注册,一机一码,付钱给码。
保护方法:
1、把用户输入的注册码和用户名进行变换得到一个解密数据的KEY。
2、对加密的数据用KEY进行解密。
3、对解密后的数据进行CRC检验,如果检验值正确,则提示注册成功,并"打开"被禁止(或保护)的功能。
以后用户就可以合法使用软件了。
暗藏机关:
现在得说一说这些加密的数据了。:-) 那些加密的数据是被禁止(或保护)的功能要使用到的一些关键数据。
此保护方法优点:
可对付某些形式的暴破。如果只修改跳转方向并不能得到真正解密的数据,而这些数据由于还要在被禁止(或保护)的功能中用到。
如果是KEY不正确,还原出一堆垃圾,那么会在功能使用中出现一些奇异的错误。:-)
此保护方法缺点:
1、如果有一合法用户泄密了KEY,则整个保护体系崩溃。:-)
2、如果加密的数据有明显的特征,则KEY可能会被推测出来。
3、如果加密/解密算法设计不当,也会出问题。
4、好象有已经针对CRC检验的一些破解办法,所以这里说到的CRC检验只是代表类似这样一种检验方法而已,具体用怎样的检验算法还得小心。
这主要是说明这种保护思路中的说明的重要一点就是不要进行明码比较,加密算法使用得再好,如果最后进行直接明码比较,就功亏一溃。
这种方法主要是针对此薄弱点进行的一种探讨。当然要改进之处也很多了。更多的保护方法还是你来吧,我只有三脚猫的功底,说多了就漏了。:-) 当然我想你至少会把这种方式进行迭加,弄它十个几十个解密/CRC检验方式。当然最后的保护效果如何,还是请暴破工程队来说说吧。
【后记】
当然我相信你知道更多更好的加密思想,如果你希望别人和你分享其中思想的闪光点,那么不妨说说吧。当然你也可以给我写信悄悄地告诉我,我猜这大概你已经用在自己编写的软件上了吧。:-)
- 标 题:对一种加密保护的思想的一点分析..... (1千字)
- 作 者:ljtt
- 时 间:2001-5-11 22:59:40
- 链 接:http://bbs.pediy.com