一种利用小精灵加密限制用户使用的方法
作者:佚名 出处:网络整理 更新时间:2007-05-24 责任编辑:
 
 

些脚本是作者用大量心血和汗水编写的,下面是一种利用小精灵加密限制用户使用的方法。

需要作者授权才能单机使用,拷贝到别的电脑无法运行。

注册步骤是发给用户编译后的小精灵文件,用户运行生成注册码文件,发给作者者,作者根据注册码文件(Script目录),生成仅能在此用户电脑上运行的小精灵文件。

加密思路:利用用户C盘硬盘序列号的唯一性与一些随机码混合。

下面是脚本代码


VBS Dim fso,dr,sn,snt,i,regstring,file,temp,vaid,serialnumber
VBS Set fso=CreateObject("Scripting.FileSystemObject")
VBS serialnumber="28"&"3F"&"12"&"02"
//此处的283F1202是用户c盘序列号,分开写可以避免工具容易查找。
//每个序列号与该电脑对应,根据用户发来的注册文件提取,修改该句得到只能在该
//电脑运行的脚本,编译为小精灵即可
Rem checkreginfo
Gosub checkreg
If vaid=0
Goto outdoor
EndIf
Rem mainscript
//此处放置需要加密的脚本
Rem outdoor
EndScript
Sub checkreg
If fso.FileExists(".\reginfo.tdt")=0
VBS vaid=0
Gosub creatregtxt
VBSCall Call MessageBox("Invaid Register information ,reginfo file created!")
Goto checkover
EndIf
VBS Set file=fso.OpenTextFile(".\reginfo.tdt",1)
VBS regstring=file.ReadLine
VBS file.Close
VBS i=1
VBS sn=""
While i<=8
VBS sn=sn&Mid(regstring,5*i,1)
VBS i=i+1
EndWhile
VBS sn=Clng("&H"&sn)
VBS snt=Clng("&H"&serialnumber)
If snt=sn
VBS vaid=1
VBSCall Call MessageBox("Vaid User!")
Else
VBS vaid=0
Gosub creatregtxt
VBSCall Call MessageBox("Invaid Register information ,reginfo file created!")
EndIf
Rem checkover
Return checkreg
EndScript
Sub creatregtxt
VBS Set file=fso.OpenTextFile(".\reginfo.tdt",2,True)
VBS Set dr=fso.GetDrive("c:")
VBS sn=Hex(dr.SerialNumber)
Gosub rand
VBS regstring=temp
VBS i=1
While i<=8
VBS regstring=regstring&Mid(sn,i,1)
Gosub rand
VBS regstring=regstring&temp
VBS i=i+1
EndWhile
VBSCall Call MessageBox(regstring&" count:"&Len(regstring))
VBS file.WriteLine(regstring)
VBS file.Close
Return creatregtxt
Sub rand
Randomize
VBS temp=Int((65535 -4096+1)*Rnd+4096)
VBS temp=Hex(temp)
Return rand
序列号提取脚本
从脚本目录下的文件reginfo.tdt中提取序列号写入文件serial.tdt,用记事本打开次文件,把内容粘贴替换到上面主文件第3行,编译成小精灵即可生成只能在生成注册码的电脑上运行的文件。
VBS Dim fso,dr,sn,i,regstring,file,serialnumber
VBS Set fso=CreateObject("Scripting.FileSystemObject")
Rem checkreginfo
If fso.FileExists(".\reginfo.tdt")=0
VBSCall Call MessageBox("No vaid regisiter file!")
Goto checkover
EndIf
VBS Set file=fso.OpenTextFile(".\reginfo.tdt",1)
VBS regstring=file.ReadLine
VBS file.Close
VBS i=1
VBS sn=""
While i<=8
VBS sn=sn&Mid(regstring,5*i,1)
VBS i=i+1
EndWhile
VBS regstring=sn
VBS i=3
VBS sn=""""&Mid(regstring,1,2)&""""
While i<=8
VBS sn=sn&"&"&""""&Mid(regstring,i,2)&""""
VBS i=i+2
EndWhile
VBS Set file=fso.OpenTextFile(".\serial.tdt",2,True)
VBS file.WriteLine("serialnumber="&sn)
VBS file.Close
Rem checkover
EndScript

 
     
 
 
继续>>按键精灵
[第1页][第2页][下一页]
 
内容导航  
第1页一种利用小精灵加密限.. 第2页按键精灵
上一篇 : 硬盘彻底损坏的数据抢救.. 下一篇网际快车FlashGet使用技..
 
  您要为所发表的言论的后果负责,请各位遵纪守法并注意文明用语
标题:  

[ 关于本站 ] [ 广告服务 ] [ 商务合作 ] [ 联系我们 ] [ 合作伙伴 ] [ 法律顾问 ] [ 网站地图 ]
千橡公司 京ICP证041489号 Copyright (c) 1997-2007 All Right Reserved.