首页
社区
课程
招聘
怎样才能实现以下功能
2004-6-7 23:13 1593

怎样才能实现以下功能

KiD 活跃值
1
2004-6-7 23:13
1593
使用什么方法可以实现以下功能:
    只有输入正确的用户名和序列号才能通过验证并且正确地对一段程序的核心代码进行解密。这样,在没有一组正确的用户名和序列号的情况下,即使通过改变关键跳转也无法正常运行程序。

应用加密算法有如下的问题:
    由于正确的用户名和序列号不止一组,可能有很多。如果我们把核心程序代码进行某种加密,以序列号作为解密密匙的话,由于解密密匙不唯一,那么解密得到的程序代码也不唯一,这就出现问题了:同样是正确的两组用户名和序列号解出了不同的核心程序代码,那世界怎么运转呢?

请教现有的软件是如何实现上面那种对代码的保护的?

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

收藏
免费 5
打赏
分享
最新回复 (6)
雪    币: 231
活跃值: (115)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风云剑 2004-6-8 08:31
2
0
最初由 KiD 发布
由于解密密匙不唯一,那么解密得到的程序代码也不唯一

这句话有些太绝对了。
雪    币: 296
活跃值: (20)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
cyliu 1 2004-6-8 11:30
3
0
寻找算法,最后生成同一个密钥
雪    币: 228
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
KiD 1 2004-6-8 11:38
4
0
什么算法,如何办得到呢?
雪    币: 5143
活跃值: (363)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
zmworm 4 2004-6-8 15:22
5
0
比如我们使用DES对称算法对代码进行加密,密钥为K
用户名为 Name
则 注册码为SN=F(Name,K)

程序校验方法为
用户输入 用户名 name 注册码 sn
k=f(name,sn)
用 k对 加密段进行还原
然后对还原出来的数据进行MD5值校验
如果校验成功则注册成功,以后可以执行解密密后的代码
如果检验失败则注册失败,以后不执行解密代码(执行了只能出现非法操作)
这样破解者必须购买一套软件才能完成破解。此方法可以用于有功能限制的版本。
雪    币: 232
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xuanwu 2004-6-20 21:23
6
0
蛤蟆跳井(不懂)朴通~~~~~~~~惨啊~~~~~~~
雪    币: 296
活跃值: (20)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
cyliu 1 2004-6-21 17:08
7
0
还可加上:用当前一段的代码的hash值解密下面要做的代码,这样可以监控是否有调试器跟踪。
游客
登录 | 注册 方可回帖
返回