返回列表 回复 发帖

加密脚本 | 自己如何修改

首先,关于小精灵加密我不是很赞同在这里发表哈,,
其次,代码里面请不要出现网址哈
再者,这个加密解密系统每人都有自己的思路,如果你花时间在理解别人的脚本上不如自己写!
我稍微给你解释下,如果你会写脚本就能懂,不太会就别用加密解密系统,我们要对得起注册的用户!--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
没用的还发出来??
哦。 那不发了。  后面还有个 |获得注册码脚本 |     反正用不了。
好了,不知道你能不能看懂,,
我现在用的注册模块比较复制,不便写出哈!
简单就好!
老大加了注释,明白鸟,原来是利用D盘序列号加密。
我原来的单位  用的一个软件《作曲大师》,  每格式重装一次,都要找那个卖家,要一次注册码,
估计是用C盘的。

按键本身 好像是用网卡 加密的。  格式也不怕。
我现在得也是用网卡的,,但由于按键只支持VBS语句,,VBS是脚本语言,受杀毒软件等的管制,,所以经常出现不明问题,,,全是安全软件在作祟哈!
简单就好!
难怪这么NB啊。
看下
       ╭╮ ╭╮ 灬        ╭────────╮
        ╭⌒ ⌒╮^          │嘿嘿,看贴回贴o○│
      ╭^#· ·#╮         │ 养成好习惯'!!! │
      ╰━━━0━^          ╰────────╯
呵呵 学习学习
谢谢Sz老大的注释
返回列表