如何制作用于大量发行的注册码

lou_df 2001-07-05 12:37:00
一个小软件在一台机器上使用,可以抽取这台机器的信息作为注册码的根据。但是大量发行的软件用这种方式似乎有些困难。象windows这种方式注册,实际上等于没有注册,因为只要有一套注册码,谁都可以大量复制盗版。象winzip的方式,用户获得的只是没有注册的软件。难道没有更好的方法吗?请各位出出主意。
...全文
138 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
MonkeyLin 2001-07-06
  • 打赏
  • 举报
回复
WINZIP的算法:(把它存为.html)
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>欢迎下载使用</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<SCRIPT language="JavaScript">
<!--
function HextoStr(hex)
{ str16="0123456789ABCDEF"
for (c=0,rs="";c<4;c++)
{ cn=hex%0x10
hex=(hex-cn)/0x10
rs=str16.charAt(cn)+rs
}
return rs
}

function ASCII(str1)
{ var str2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`"
str2+="abcdefghijklmnopqrstuvwxyz{|}~"
return str2.indexOf(str1)+32
}

function GetRegKey()
{ str1=document.winzip.nametext.value

if (str1.length>=1&&str1.length<=39)
{ for (c1=n1=0;c1<str1.length;c1++)
{ n1+=ASCII(str1.charAt(c1))*c1
}

for (c1=eax=0;c1<str1.length;c1++)
{ ecx=ASCII(str1.charAt(c1))*0x100
for (c2=0;c2<8;c2++)
{ esi=ecx
esi^=eax
if (esi&0x8000)
{ eax<<=1
eax^=0x1021
}
else
{ eax<<=1
}
ecx<<=1
}
}
n2=eax+0x63
n2&=0xffff

document.winzip.regtext.value=HextoStr(n2)+HextoStr(n1)
}
else
{ document.winzip.regtext.value=" [ 注册名必需 2-29 个字符 ] "
}
}
function Default()
{ document.winzip.nametext.value='Sea Driver'
GetRegKey()
}
//-->
</SCRIPT>
<CENTER>
<HR WIDTH="100%"><B><FONT FACE="隶书"><FONT SIZE=+3><FONT COLOR="#000000"><a name="reg">WinZIP</a>
</FONT><FONT COLOR="#FF0000">免费注册器</FONT></FONT></FONT></B></CENTER>
<FONT FACE="Comic Sans MS"> </FONT>
<CENTER><TABLE BORDER=0 COLS=2 WIDTH="100%" >
<TR>
<TD WIDTH="20%"><B><FONT FACE="隶书"><FONT COLOR="#0000CC"><FONT SIZE=+1>注册名:</FONT></FONT></FONT></B></TD>

<TD WIDTH="80%"><FORM name="winzip"><INPUT type="text" name="nametext" value="" size=50 onFocus="document.winzip.nametext.select()" onChange="GetRegKey()"></TD>
</TR>

<TR>
<TD><B><FONT FACE="隶书"><FONT COLOR="#0000CC"><FONT SIZE=+1>注册码
#</FONT></FONT></FONT></B></TD>

<TD><INPUT type="text" name="regtext" value="" size=50 onFocus="document.winzip.regtext.select()" onChange="GetRegKey()"></TD>
</TR>

<TR>
<TD><B><FONT FACE="Comic Sans MS"><FONT COLOR="#000000"><FONT SIZE=-1>V6.0~7.0</FONT></FONT></FONT></B></TD>

<TD>
<CENTER><B><FONT FACE="隶书"><FONT SIZE=+1> <INPUT type="button" name="default" value=" 默认值 " onclick="Default()"> <INPUT type="button" name="getkey" value=" 注册码 " onclick="GetRegKey()"> <INPUT type="button" name="exit" value=" 退 出 " onclick="history.back()"></FORM><SCRIPT language="JavaScript">
<!--
Default()
//-->
</SCRIPT>
 </FONT></FONT></B></CENTER>
</TD>
</TR>
</TABLE></CENTER>

</BODY>
</HTML>
dotnba 2001-07-06
  • 打赏
  • 举报
回复
to y1g1y1:
为什么你的也要注册啊!
同意 jisheng(古朴的狼) !
jisheng 2001-07-06
  • 打赏
  • 举报
回复
在“软件屋”登记一下,申请这个服务:)
唉,我讨厌要注册的软件……
limengchen 2001-07-06
  • 打赏
  • 举报
回复
先获取用户的硬件信息,再根据硬件信息来确定注册码。获取硬件信息可以参考VB中的About窗体。
y1g1y1 2001-07-05
  • 打赏
  • 举报
回复
网上注册。
lou_df 2001-07-05
  • 打赏
  • 举报
回复
网上注册的具体方法如何?目前我在网上没有服务器,只有通过ADSL上网的WIN97/98,装一个个人web服务器不知行不行?还有没有其他好办法?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧