标题:
加密脚本 | 自己如何修改
[打印本页]
作者:
鱼干
时间:
2006-11-8 12:29
标题:
加密脚本 | 自己如何修改
首先,关于小精灵加密我不是很赞同在这里发表哈,,
其次,代码里面请不要出现网址哈
再者,这个加密解密系统每人都有自己的思路,如果你花时间在理解别人的脚本上不如自己写!
我稍微给你解释下,如果你会写脚本就能懂,不太会就别用加密解密系统,我们要对得起注册的用户!--Sz
==============================
解密解密或者说软件注册模块的运行顺序都是一样的!
启动软件后--读取注册信息--发现则正常运行,未发现注册信息则引导注册--读取硬件信息---显示机器码--调用写注册码模块--加密解密运算--匹配注册码--吻合正常运行不吻合者提示出错!--Sz
重点有2处
读取硬件信息和加密运算--Sz
VBS Dim fso,dr,sn,snt,i,regstring,regstring1,file,path,temp,vaid,serialnumber,filename1,filename2,filename3,retv,reg,try
VBS set fso=CreateObject("Scripting.Filesystemobject")
VBS set Obj=createobject("WScript.Shell")
VBS reg=0
VBS try=1
VBS filename1=".\机器码.txt"
这里是读取注册信息,是以读文本方式--Sz
VBS filename2=".\注册信息.txt"
VBS filename3=".\试用次数.txt"
Rem checkreginfo
Gosub checkreg
If vaid=0
VBSCall retv1=Obj.Popup(" 你好,是否试用?",0,"加密!",36)
是否对话框,精灵没有的,学习下--Sz
If retv1=7
Goto outdoor
EndIf
Gosub 使用次数限制
EndIf
Rem mainscript
//此处放置需要加密的脚本
//------------------------------------脚本区--------------------------------------
MessageBox 脚本区
//------------------------------------脚本区--------------------------------------
Rem outdoor
If reg=0
VBSCall retv=Obj.Popup(" 你好,是否注册?",0,"加密",36)
If retv=6
Gosub 注册
EndIf
EndIf
//这里是没注册试用后弹出的网页
MessageBox 作者:风之子 主页:....
VBSCall runapp("......")
EndScript
Sub checkreg
If fso.FileExists(filename2)=0
VBS vaid=0
Gosub creatregtxt
这里调用读取硬件信息模块--Sz
VBSCall Call MessageBox("你的机器码为:"&sn&" 请注册,谢谢!")
VBS reg=0
Goto checkover
EndIf
VBS Set file=fso.OpenTextFile(filename2,1,True)
VBS regstring=file.ReadLine
VBS file.Close
VBS i=1
VBS serialnumber=""
While i<=(Len(regstring)-4)/5
VBS serialnumber=serialnumber&Mid(regstring,5*i,1)
VBS i=i+1
EndWhile
VBS Set dr=fso.GetDrive("d:")
VBS sn=Hex(dr.SerialNumber)
VBS sn=int("&H"&sn)
//解密算法,是加密的可逆(更加复杂的就得自己去设计了!)
加密解密,,意思是把获取的硬件特征码加密成机器码,注册的时候解密成硬件特征码,再读取硬件特征码,相互吻合就成功注册--Sz
VBS snt=int(serialnumber)/3
If snt=sn
VBS vaid=1
VBS reg=1
Else
VBS vaid=0
VBS reg=0
Gosub creatregtxt
VBSCall Call MessageBox("一机一码哦,你的机器码为:"&sn&" 请注册,谢谢!^-^")
EndIf
Rem checkover
Return checkreg
EndScript
Sub creatregtxt
VBS Set file=fso.CreateTextFile(filename1,2)
VBS Set dr=fso.GetDrive("d:")
这句代码是获取D盘序列号,这个其实是不稳定的,当D盘格式化后就改变了,或者当杀软或什么安全软件禁止VBS读取系统信息的时候就返回空值,全部注册模块会形同虚设!--Sz
VBS sn=Hex(dr.SerialNumber)
VBS file.WriteLine(sn)
VBS file.Close
Return creatregtxt
Sub 注册
VBSCall regstring1=inputbox("请输入你的注册码:")
VBS i1=1
VBS sn1=""
While i1<=(Len(regstring1)-4)/5
VBS sn1=sn1&Mid(regstring1,5*i1,1)
VBS i1=i1+1
EndWhile
VBS Set dr=fso.GetDrive("d:")
VBS sn=Hex(dr.SerialNumber)
VBS sn=int("&H"&sn)
//解密算法,是加密的可逆(更加复杂的就得自己去设计了!)
VBS sn1=int(sn1)/3
If sn=sn1
VBS Set file=fso.CreateTextFile(filename2,True)
VBS file.WriteLine(regstring1)
VBS file.Close
MessageBox 注册成功!
Else
MessageBox 注册码错误!
EndIf
Return
Sub 使用次数限制
If fso.FileExists(filename3)=-1
VBS Set file=fso.OpenTextFile(filename3,1)
VBS try=file.readline
VBS file.close
Else
VBS Set file=fso.CreateTextFile(filename3,2)
VBS file.WriteLine(try)
VBS file.close
EndIf
//试用次数
If try<=8
VBSCall call messagebox("你的未注册用户,还能试用"&(8-try)&"次!!请尽快注册!!谢谢!!")
VBS set file=fso.createtextfile(filename3,2)
try=try+1
VBS file.writeline(try)
VBS file.close
Else
VBSCall call messagebox("你的试用次数已到,请注册,谢谢!")
Goto outdoor
EndIf
Return
==============================
相对普通用户来说,硬件特征码+1就可以是机器码,-1就可以是注册码...+1和-1就是加密解密过程,,--Sz
作者:
ha321
时间:
2006-11-8 12:34
没用的还发出来??
作者:
鱼干
时间:
2006-11-8 12:50
哦。 那不发了。 后面还有个 |获得注册码脚本 | 反正用不了。
作者:
SzAngel
时间:
2006-11-8 13:07
好了,不知道你能不能看懂,,
我现在用的注册模块比较复制,不便写出哈!
作者:
鱼干
时间:
2006-11-8 13:25
老大加了注释,明白鸟,原来是利用D盘序列号加密。
我原来的单位 用的一个软件《作曲大师》, 每格式重装一次,都要找那个卖家,要一次注册码,
估计是用C盘的。
按键本身 好像是用网卡 加密的。 格式也不怕。
作者:
SzAngel
时间:
2006-11-8 14:32
我现在得也是用网卡的,,但由于按键只支持VBS语句,,VBS是脚本语言,受杀毒软件等的管制,,所以经常出现不明问题,,,全是安全软件在作祟哈!
作者:
鱼干
时间:
2006-11-8 15:17
难怪这么NB啊。
作者:
39030215
时间:
2006-11-9 13:40
看下
作者:
疯言疯语
时间:
2006-11-9 20:53
呵呵 学习学习
作者:
ha321
时间:
2006-11-9 22:21
谢谢Sz老大的注释
作者:
肥仔头
时间:
2006-11-10 11:10
作者:
jwfsys
时间:
2006-11-12 02:39
太深看不动啊
作者:
过去一切
时间:
2006-11-12 06:25
标题:
看不明白
作者:
过去一切
时间:
2006-11-14 07:30
标题:
不明白
作者:
lfplfp01
时间:
2006-11-30 22:53
学习
作者:
sdj37
时间:
2007-2-9 17:35
高手不 一般的多啊~
欢迎光临 紫菀论坛 (http://bbs.szyin.com/)
Powered by Discuz! 7.1