Board logo

标题: 加密脚本 | 自己如何修改 [打印本页]

作者: 鱼干    时间: 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