请教软件“序列号认证”问题。

MicroSoftBird 2003-07-29 11:14:01
请问“序列号认证”基于什么算法?其主要流程是什么样的?

为什么有很多的“序列号认证”软件被一一告破?
...全文
51 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pinghero 2003-08-03
  • 打赏
  • 举报
回复
很想向你学学数字签名技术!!!
AhBian 2003-08-02
  • 打赏
  • 举报
回复
用序列号认证的方式,与序列号生成和检验的算法有关。

在传统程序上应用有点价值,因为本地的机器指令可执行代码比较难反编译,但正如没有无坚不摧的盾。如果黑客有心,还是能破解的。WIN XP 的激活方式也算是微软的苦心经营了,不也是一样被破。

本地代码有一个缺点:被破之后,黑客可以直接修改可执行文件后重新发布。
有的情况下,甚至不用去破什么算法,只要破判断逻辑,改变逻辑判断的执行分支选择,可以通过跟踪的手段来找到判断语句在文件中的位置,把不等于改成等于(或者相反),把返回 0 改成返回 1(或者相反),其实太简单了。

所以很容易被破,此时算法再怎么精妙也只是空中楼阁了。

由于 .NET 的 IL 代码极容易被反编译,反编译后,你的算法就一览无遗了。虽然强名称签名后的 IL 代码不容易被修改,但只要掌握了算法,也就很容易生成合法的序列号了。

虽然也可以使用 c++ 来做算法部分,但前文所述的弱点还是无法回避的。

我尝试了一种新的认证方法,就是采用数字签名技术,有兴趣的话,可以给我留言。
MicroSoftBird 2003-08-01
  • 打赏
  • 举报
回复
为什么如此容易破,还有那么多的软件采用这种方式?
liusuifeng001 2003-07-30
  • 打赏
  • 举报
回复
这样的文章我在天级网看过,建议楼主去搜索吧!

不过那些方法很简单。如果自己想学习的话,去看看密码学和加密之类的书籍吧!
liusuifeng001 2003-07-30
  • 打赏
  • 举报
回复
cracking~
pinghero 2003-07-30
  • 打赏
  • 举报
回复
mark!
MicroSoftBird 2003-07-30
  • 打赏
  • 举报
回复
up
DarkBasic 2003-07-30
  • 打赏
  • 举报
回复
算法要自已想的。
很多的“序列号认证”软件被一一告破,是因为被人看明白了作者的注册算法。
panyee 2003-07-29
  • 打赏
  • 举报
回复
用vc写一个dll, 里头用一方法校验注册码


你的程序中用[DllImport("dll.dll")]
引用dll的方法来判断是否合法, 注册号不正确就退出程序
xuyo 2003-07-29
  • 打赏
  • 举报
回复
基于什么算法???
如果给什么人都知道是什么算法,他们还用混的,呵呵!
不过你搞高手的话,也可以crake(那个单词不会写)
有一期程序员里面,有点这些介绍
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2003-07-29 11:14
社区公告

让您成为最强悍的C#开发者