能力值:
( LV2,RANK:10 )
|
-
-
2 楼
其实根本没这个必要,我只需要MD5一个就能做到无法破解,但事实上我以前说过乐,CRACK手段做不到的事,不代表HACK手段做不倒,自己多学习学习吧,你这个思路并不是很新颖,否则老外普遍早用上乐。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
"程序运行时首先解密事先加密好的数据然后检验两个MD5数据是否一致" 我想这里存在漏洞.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
最初由 鸡蛋壳 发布 其实根本没这个必要,我只需要MD5一个就能做到无法破解,但事实上我以前说过乐,CRACK手段做不到的事,不代表HACK手段做不倒,自己多学习学习吧,你这个思路并不是很新颖,否则老外普遍早用上乐。
光一个MD5要伪造签名还是可行的,因为我可以同时替换消息和签名。那样的话就不能防止暴力破解了 :(
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这要程序能在你的PC上运行
就能破解
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
最初由 cobra1111 发布 这要程序能在你的PC上运行
就能破解
某种程度上可以这么说,但是取决于你的破解的定义 。如果你做不出注册机和补丁,是否算破解呢?如果我对整个程序先用AES加密,然后再一开始就要你提供解密密钥,否则就得不到正确的程序,那样的话,你又如何破解呢?因为你只能得到正确的密钥后才能谈破解。但是我们无法防止正确密钥的非法传播。这也某种程度上印证了你的说法,技术上可行和操作上可行还是有很大的距离。世上没有100%安全的软件,除非你采用一次一密。:)
|
能力值:
(RANK:10 )
|
-
-
7 楼
最初由 AWildChild 发布
某种程度上可以这么说,但是取决于你的破解的定义 。如果你做不出注册机和补丁,是否算破解呢?如果我对整个程序先用AES加密,然后再一开始就要你提供解密密钥,否则就得不到正确的程序,那样的话,你又如何破解呢?因为你只能得到正确的密钥后才能谈破解。但是我们无法防止正确密钥的非法传播。这也某种程度上印证了你的说法,技术上可行和操作上可行还是有很大的距离。世上没有100%安全的软件,除非你采用一次一密。:)
你是鸡蛋壳派来的?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
继续!
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
最初由 pll823 发布
你是鸡蛋壳派来的?
我是论坛的新人啊 ,刚出道就急急忙忙抛出自己的不怎么成熟的想法想和大家讨论讨论,希望大家提出自己的见地啊
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
最初由 comelysouthchin 发布 "程序运行时首先解密事先加密好的数据然后检验两个MD5数据是否一致" 我想这里存在漏洞.
对这一点我想说:由于MD5算法的单向性,我可以让攻击者知道摘要是什么,而且也无法不让他知道。我用私钥进行了加密是为了防止用户同时修改程序和摘要。攻击者可以暴力修改程序,也可以知道暴力修改程序后的摘要,但是他无法知道这个摘要用私钥加密后的结果,因为他不知道私钥。当然这样做还是不能防止内存动态修改:等你摘要解密完了,再来修改最重要的跳转语句。但如果改为对内存中的数据进行MD5摘要,然后比较分为多次进行分段比较,比较完一段后然后对内存中数据再进行一次摘要,然后继续用公钥解密剩下来的部分再比较,这样重复多次呢?这样可以可以大大加强分析的难度,不过如果他读懂了你的思路,还是能绕过去:(不管怎么说我觉得这样的加密可以保证写不出注册机和补丁来了,只能提取内存代码然后重新组合成一个新的exe文件,大家觉得我说得对吗?:)
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
最初由 AWildChild 发布 注册算法也采用RSA
既然算法是公开的,为什么还要去CRACK这个软件呢?只需要跟踪出私钥(也许是公钥),然后用RSA算法直接算出正确的注册码不行吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
最初由 yushiro 发布
既然算法是公开的,为什么还要去CRACK这个软件呢?只需要跟踪出私钥(也许是公钥),然后用RSA算法直接算出正确的注册码不行吗?
因为RSA算法是单向陷门函数,建立大数分解的计算不可行上面,如果要分解1024bit的大数,耗费的人力物力大于你破解软件的所得利益 所以你不会这么做 呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
最初由 AWildChild 发布
因为RSA算法是单向陷门函数,建立大数分解的计算不可行上面,如果要分解1024bit的大数,耗费的人力物力大于你破解软件的所得利益 所以你不会这么做 呵呵
呵呵,是这样。不过,刚才仔细想了一下你前面的回复,觉得楼主是单纯从CRACK或者技术角度考虑这个问题了。之前,你也说了,可以跟踪内容,然后合并出一个新的EXE,如果作为普通使用者,我根本不关系这个软件是怎么出来的,只要完成我需要的功能就可以了,也就是说,这个新的EXE发布出去的话,就会有人用,因为与你加密的软件功能一样,而且又没有限制,你说是不是?
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
最初由 yushiro 发布
呵呵,是这样。不过,刚才仔细想了一下你前面的回复,觉得楼主是单纯从CRACK或者技术角度考虑这个问题了。之前,你也说了,可以跟踪内容,然后合并出一个新的EXE,如果作为普通使用者,我根本不关系这个软件是怎么出来的,只要完成我需要的功能就可以了,也就是说,这个新的EXE发布出去的话,就会有人用,因为与你加密的软件功能一样,而且又没有限制,你说是不是?
其实我觉得问题最大的地方在注册码的不法流通,如果我对程序的关键代码部分只有用户提供密钥解密后才能用的话,就可以防止攻击者脱壳了。
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
程序必须要解密以后才能运行的,对吧?只要有人公开其通过正当途径获得的注册码,完全可以把加密代码解密DUMP出来阿。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
最初由 yushiro 发布 程序必须要解密以后才能运行的,对吧?只要有人公开其通过正当途径获得的注册码,完全可以把加密代码解密DUMP出来阿。
对啊,我就是这个意思啊,我觉得这就是接近极限了,如果再升级就是硬件相关,只能在那台拥有合法注册码的用户的机器上运行。共享的安全性的极限是否就是这样呢?这样的话只有有一个cracker花钱买软件再dump再发布,那样的话非法软件的流通是不是限制到了最低点呢?
至少我能保证卖出一份了,如果市场上想要出现破解版本的话,哈哈!
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
最初由 AWildChild 发布
对这一点我想说:由于MD5算法的单向性,我可以让攻击者知道摘要是什么,而且也无法不让他知道。我用私钥进行了加密是为了防止用户同时修改程序和摘要。攻击者可以暴力修改程序,也可以知道暴力修改程序后的摘要,但是他无法知道这个摘要用私钥加密后的结果,因为他不知道私钥。当然这样做还是不能防止内存动态修改:等你摘要解密完了,再来修改最重要的跳转语句。但如果改为对内存中的数据进行MD5摘要,然后比较分为多次进行分段比较,比较完一段后然后对内存中数据再进行一次摘要,然后继续用公钥解密剩下来的部分再比较,这样重复多次呢?这样可以可以大大加强分析的难度,不过如果他读懂了你的思路,还是能绕过去:(不管怎么说我觉得这样的加密可以保证写不出注册机和补丁来了,只能提取内存代码然后重新组合成一个新的exe文件,大家觉得我说得对吗?:)
你最后一句话就能证明你这些花招一点用都没有....
还不如直接用rar压缩一下加密码保险哪
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
最初由 DamnYa 发布
你最后一句话就能证明你这些花招一点用都没有.... 还不如直接用rar压缩一下加密码保险哪
比这样还是要安全的多吧,那样加密的情况下只有一个cracker花钱买软件再dump再发布,而且这个craker得有相当的经验,一般的菜鸟是难以搞定的。
rar的话,有个人发布一下解密密码不就可以了吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
讨论到这个份上,我觉得已经没有继续下去的意义了,原因很简单,到现在位置,还没有一个软件能让每个用户掏钱去买正版的,最多我不用,肯定还有功能相同的同类产品(软件)。记得曾经看过一篇将加密的文章,最后一句就是“记住,不要认为没有你的软件,地球就不转了,把心思花在加密上,还不如放在软件功能的提高或者改进上”:D楼主说对不对阿?
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
最初由 yushiro 发布 讨论到这个份上,我觉得已经没有继续下去的意义了,原因很简单,到现在位置,还没有一个软件能让每个用户掏钱去买正版的,最多我不用,肯定还有功能相同的同类产品(软件)。记得曾经看过一篇将加密的文章,最后一句就是“记住,不要认为没有你的软件,地球就不转了,把心思花在加密上,还不如放在软件功能的提高或者改进上”:D楼主说对不对阿?
呵呵,软件的功能和效率当然还是一个软件能否成功的关键,保护只是辅助手段。密码学中一些经典的理论在共享软件上就会失效,可惜!因为我们无法区分可信任用户和不可信任用户:(
|
|
|