VBS的加密跟解密

VBS的加密跟解密,第1张

VBS加密:

复制以下代码,用记事本另存为,“VBS加密” 保存。

set fso=createobject("scripting.filesystemobject")

scf=inputbox("请输入要加密的脚本文件名","VBS加密程序","*.vbs")

set op=fso.opentextfile(scf)

dow=13

do while op.atendofstream=false

line=op.readline

for i=1 to len(line)

achar=mid(line,i,1)

dow=dow&Chr(44)&asc(achar)

next

dow=dow&chr(44)&"13"&chr(44)&"10"

loop

op.close

set op=fso.opentextfile(scf,2)

op.write "strs=array("&dow&")"&chr(13)&chr(10)&_

"for i=1 to UBound(strs)"&chr(13)&chr(10)&_

"runner=runner&chr(strs(i))"&chr(13)&chr(10)&_

"next"&chr(13)&chr(10)&_

"Execute runner"

VBS解密

复制以下代码,用记事本另存为,“VBSVBS解密” 保存。

on error resume next

set fso=createobject("scripting.filesystemobject")

set ws=createobject("wscript.shell")

Set objDialog = CreateObject("UserAccounts.CommonDialog")

objDialog.Filter = "vbs File|*.vbs|All Files|*.*"

objDialog.InitialDir = ""

objDialog.ShowOpen

strLoadFile = objDialog.FileName

if not strLoadFile = "" then

set file=fso.opentextfile(strLoadFile,1)

all=file.readall

file.close

s=instr(1,all,"next")

alls=mid(all,1, s+3 )

set file=fso.createtextfile(strLoadFile,8,true)

file.write alls

file.writeline empty

file.writeline"set fso=createobject("&""""&"scripting.filesystemobject"&""""&")"

file.writeline"set file=fso.createtextfile(wscript.scriptfullname,8,true)"

file.writeline"file.write runner"

file.writeline"file.close"

file.close

ws.run""""&strLoadFile&"""",0,true

msgbox"解密成功!",4096+64

end if

mima = "123"

i = 0

do

if i >= 3 then wscript.quit

a = inputbox("请输入密码" & vbcrlf & "您还有" & 3 - i & "次机会")

if a = false then wscript.quit

i = i + 1

loop until a = mima

msgbox "密码正确"

上面的代码可以实现你要的功能,但密码一眼就能看见,可以使用下面的脚本代码进行加密。

Option Explicit

Dim se, fso

Dim argv, file, str

Set se  = CreateObject("Scripting.Encoder")

Set fso = CreateObject("Scripting.FilesystemObject")

For Each argv In WScript.Arguments

    Set file = fso.OpenTextFile(argv)

    str = file.ReadAll

    file.Close

    str = se.EncodeScriptFile(".vbs", str, 0 , "")

    argv = Left(argv, Len(argv)-3) & ".vbe"

    Set file = fso.OpenTextFile(argv, 2, True)

    file.Write str

    file.Close

Next

MsgBox "OK", vbInformation

最后生成的文件可以下载附件。要破解就有一定难度

楼上提供的代码或思路是经不起源码的查看的批处理加密至今未有一个完美的方案建议楼主将VBS或批处理脚本用winrar或7-zip之类的压缩软件压成一个带密码的自解压程序,设置查看文件和解压时需要输入密码,同时解压后自动执行包内脚本,这样就可以变通地实现你的要求了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11763352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存