首页
社区
课程
招聘
[求助]这种加密方法的软件破解是不是比开发整个软件还难?
发表于: 2006-8-30 08:47 16308

[求助]这种加密方法的软件破解是不是比开发整个软件还难?

2006-8-30 08:47
16308
我用如下方法加密软件,我认为只要软件破解比开发整个软件还难,软件的保护方法就是安全的,请各位大师帮我分析一下我这种保护软件的方法安全不安全?
    我开发的是自动化软件,软件里每个用户要设置用户安装设备的参数,而每个用户安装设备的参数很难做到一样,可以认为不同用户的设备参数是不一样的,而设备参数要参与整个软件功能计算,设备参数不正确则软件不能正常运行,我把软件卖给某个用户使用时,根据该用户的设置参数生成注册码给这个用户注册,注册时不提示用户注册成功与否,注册码保存在该用户软件中,程序运行时用注册码反算设备参数的某些运算组合(不直接反算设备参数)参与整个软件的功能计算,而软件整个功能计算至少要花1秒种的时间,注册码正确与否要看软件整个功能计算的最后结果正确与否,我认为破解这样的软件,不但要有破解的技术,还要理解软件的功能,破解软件比开发软件还难,各位大师认为我这软件的保护方法安全吗?我这种软件保护的方法有无漏洞?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (86)
雪    币: 2506
活跃值: (1000)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
2
最初由 caiyg 发布
注册码正确与否要看软件整个功能计算的最后结果正确与否

不看你计算半天的过程,找到最后结果直接爆。
2006-8-30 09:47
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
计算机的来计算机的去。最后还是判断是不是一样。是的话。就跳不是的话就不跳。除非计算机一下硬件,就设置一下跳里面又来一些算法。这样。难度会大一点但是还是会被破解。
2006-8-30 10:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
2楼的,最后结果不是固定值,最后结果还与软件运行时的输入有关。
2006-8-30 10:02
0
雪    币: 51
活跃值: (1841)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
如果你的那些关键用户参数不是由用户输入得到的,而是由注册码分析推理得到的,同时不管其正确与否都直接参与运算,而不直接报错。那么其破解还是需要具备你的软件所涉及到的一些专业知识才行。当然,你的关键用户参数涉及越多,其破解难度越大,不过可能不一定受用户的欢迎
2006-8-30 10:03
0
雪    币: 340
活跃值: (922)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
6
你用你的理论写个crackme放上来
2006-8-30 10:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
3楼的,软件运行过程不需要验证注册码,不需根据输入注册码正确与否确定程序是否要跳,注册码不正确则程序运行最后结果不正确(程序功能不正常)。
2006-8-30 10:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
5楼的,那些关键用户参数可以由用户在系统设置的设备参数栏输入,但只是用来看的,程序运行时不使用系统设置里的设备参数数据,而用由注册码反算得到的设备参数的组合运算结果。
2006-8-30 10:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
5楼的,软件注册后修改设备参数被程序禁止。
2006-8-30 10:19
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
是种思路!!
2006-8-30 10:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
10楼的,dAyCG,这种思想有问题吗?有漏洞吗?
2006-8-30 10:31
0
雪    币: 622
活跃值: (294)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
12
你的意思是用设备参数算得一个值去加密程序,然后用可以反推出这个值得注册码来解密各个功能把。

理论上来说,只要你的软件的所有功能能在本机上运行一次,那么这个软件就是可以破解的。

我们可以通过模拟你的解密算法。在OEP预先解密各个模块,然后再去处你的机密模块,应该就可以了吧

或者是用户将他的设备参数发给你,然后你使用这个参数为他定制加密,在客户机本机重取设备参数解密。即:软件绑定机器 是吧。
2006-8-30 10:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
12楼的,你完全没有理解我的意思,我的意思是用很多设备参数算得一个值作为注册码,注册码加密程序不用专门的加密模块,也不用专门的模块用来解密各个功能,而是由注册码反算设置参数的一些组合运算结果来参与各功能计算。
2006-8-30 11:05
0
雪    币: 51
活跃值: (1841)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
个人认为:
1.注册码验证部分还是必要的,当然仅仅只是一种伪装
2.对于错误但通过了验证的注册码,应确保其产生的结果对于非专业人士而言在直观上与正确的相差不大
2006-8-30 11:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
14楼的,如果存在注册码验证部分,很容易被穷举法测出正确的注册码。
2006-8-30 11:20
0
雪    币: 51
活跃值: (1841)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
如果你的注册码能够被穷举,那只能说你的加密还是太弱了
注册码的验证绝对不应涉及到那些重要参数,而且仅仅只是一种欺骗而已
欺骗得越好,迷惑性就越大
2006-8-30 11:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
16楼的,只有重要的设备参数生成注册码才能保护软件,因为用户设备本身的设备实际参数变了,不变更软件的设备参数,软件是用不了的,而一些无关紧要的参数变了,软件还是可以用的。
2006-8-30 11:30
0
雪    币: 51
活跃值: (1841)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我想我说的已经很清楚了
当然这也取决于你的重要参数有多少
所谓的伪装和欺骗是为了绕开别人的注意力
毕竟,如果你什么都不验证,什么障碍都不设置,直接对注册号进行解码,参数代入,计算结果,别人就直接切入主题了,呵呵
2006-8-30 11:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
18楼的,直接对注册号进行解码,但解码出来的不是设备参数,而是设备参数进行功能运算的中间结果,软件运行时从解码出来的结果代入这中间结果,不直接涉及设备参数,破解者没法直入主题。
2006-8-30 11:40
0
雪    币: 51
活跃值: (1841)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
如果你坚持认为这样已经足够安全的话,就去做吧
2006-8-30 11:44
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
21
最初由 CCDebuger 发布
不看你计算半天的过程,找到最后结果直接爆。


估计不好爆,他这个有很多分支,你不知道该往什么地方跳。他这个思路貌似有点不错。
2006-8-30 11:51
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
最初由 lightgun 发布
如果你坚持认为这样已经足够安全的话,就去做吧


支持,写个crackme吧!!!
2006-8-30 16:02
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
23
通观此帖,发现楼主(caiyg)不是一般的牛!
2006-8-30 16:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
加密的最高境界是让解密者不知道密在哪里!此法用的不是加密的专业技术而是一种方法!对破解者而言,也不能发挥他的专业破解技术破解。可以说是一种落后的加密技术的先进的软件保护方法。
2006-8-30 17:01
0
雪    币: 211
活跃值: (11)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
楼主,其实你的意思是把解码出来的参数验证的过程交给用户去判断吧?(用户对这行业的知识 + 设备的实际运行情况。。。 等等)
说白了和一般软件破解也无什么分别,似乎更简单。
楼主自己也提到了软件中有把注册码变成多组参数的程序段,只要破解者找到这程序段并成功反推,其实就是能写出一个参数变注册码的程序(注册机)就可以了。参数的设定和验证的过程交给用户去判断!!!
2006-8-30 21:24
0
游客
登录 | 注册 方可回帖
返回
//