首页
社区
课程
招聘
[讨论]这样加密是否有缺陷
发表于: 2009-8-29 13:09 7294

[讨论]这样加密是否有缺陷

2009-8-29 13:09
7294
一个程序中的一段代码。
变量 a=很复杂的计算,加密算法,解密算法一大堆。
if ( a= 某个固定值 )
{
     为试用版
     msgbox""    //消息框提示一下
}
else
{
    为正式版
    可以继续操作
}

这样软件保护方法是否有缺陷?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (20)
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
严重缺陷改为
if ( a!= 某个固定值 )
{
     为试用版
     msgbox""    //消息框提示一下
}
else
{
    为正式版
    可以继续操作
}
就破解了
2009-8-29 13:51
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
一条(跳)就死,九筒(90)就胡 。
一条(跳)就胡,一饼(EB)伺候 。
妻死(74)便妻无(75),爸死(84)便爸无(85)
2009-8-29 13:52
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
哈哈,我少写一个等于符号。
2009-8-29 14:02
0
雪    币: 93
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
补上了也没有用,这样的框架被秒
2009-8-29 14:36
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6
可以被秒得很完美.
也是一种艺术
2009-8-29 14:50
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
一个字节   .
2009-8-29 16:31
0
雪    币: 251
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
没有缺陷,只有方便
2009-8-29 16:31
0
雪    币: 97
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
...这样的加密可以被菜鸟轻松爆破
2009-8-29 17:03
0
雪    币: 276
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
基本原理是这样的,一点没错,再厉害的壳,原理也是这个流程啊。
2009-8-30 10:05
0
雪    币: 252
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
好恐怖
2009-8-30 11:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这样子等于装了个很高级的防盗门并上锁,最后却将钥匙插在门上了。
2009-8-31 11:07
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
所以我问大家有没有缺陷啊?请问如何改一下。
2009-9-1 11:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
msgbox就是一大拜笔
2009-9-1 12:00
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
如何去掉msgbox是不是就可以了呢?
2009-9-1 12:07
0
雪    币: 162
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
不要用 if ( ) 这种方式来决定关键程序流向,这是很容易被暴破的
如果你是用C++来写的,可以将结果通过一个自定义消息来传递
2009-9-1 15:20
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
谢谢随风,大家能不能根据这个话题,讨论一下软件加密的注意事项??
2009-9-1 17:22
0
雪    币: 251
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
这条总结牛
2009-9-1 19:52
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
这样写也没问题
加个超牛逼的正版壳吧
2009-9-1 19:53
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
20
这样就是加了 VMP 也没用,那个固值和你的 A 会在 Handler 的堆栈中完整显示
不相信你试试,我一样分了你。。。。。。。。。。。。。。。。。         (我乱说吓你的)

这样的写法,加了 NP 最新版的壳也没用,不是壳不好,你的思路不行

——————————————————修改一下吧
一个程序中的一段代码。

加多个 变量 B 和 C ,C 取代了某个固定值,并且先把 C B 分解了,用 A 的结果
还原 B , 再用 B 来处理 C ,最后的 C 去某处做最终的自我修复,
这里修复的结果用作解出正式版的关键代码,C 不是一个字符,应该不小与 16 位以上的字符串

不要用户输入错误就给个 MSBOX ,这样这个判断卡马上被发现
上面的只是一个最简单的加密,要完善它还需要很多东西
譬如使用大量的异常+动态指针+变形等等,太多了。。。。说不完
2009-9-1 20:34
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
21
还有上面的说法,不是万能的,如果写得好,CR 在没有一个正版 KEY 的时候机会不可能破解出来
麻烦在有正版用户把 KEY 放出,又碰到有深厚功力的 CR ,那就没办法了,一样死
2009-9-1 20:38
0
游客
登录 | 注册 方可回帖
返回
//