vbs脚本 加密 几个小细节小结下_vbs

复制代码 代码如下:

dxy: 
    你好! 
    我学vbs也有一小段时间了,最近看到一本书上讲vbs脚本的加密,就自己试了试,可是有一点问题,低级的语法错误我都自己修正了,可脚本运行后不起作用.所以想请教你一下.脚本的原理是这样的:它把代码转换成16进制,然后再写个解密代码,通过这个解密来执行加密的代码,将字符串成16进制的代码如下: 
Function str2hex (Byval strHex) 
For i=1 to Len(strHex) 
sHex = sHex & Hex(Asc(mid(strHex,i,1))) 
 next 
 str2Hex = sHex 
end Function 

解密的代码如下: 

Function hextostr(data) 
Hextostr = "Execute""""" 
C= "&Chr(&H" 
N= ")" 
Do while Len(data)>1 
if IsNumeric (Left(data,1)) then 
Hextostr=Hextostr&c&Left(data,2)&N 
data=mid(data,3) 
else 
Hextostr=HextoStr&C&Left(data,4)&N 
data=mid(data,5) 
end if 
loop 
end Function 

解密代码好象有点问题,请帮忙指正,我实在找不出 

整个成品就是: 

on error resume next 
set arg=wscript.arguement '声明外部参数 
if arg.count=0 Then wscript.quit '若无参数则退出脚本 
set fso=creatobject("Scripting.Filesystem Object") '声明fso组件 
when fso.opentextfile(arg(0),1,flase) 
data = readall:.close'读取文本内容 
if err.number<>0 then wscript.quit '如果发生错误,则退出 
with fso.opentextfile(arg(0)&"*.vbs",2,true) '将转换好的写到一个新的vbs中 
if err.number<>0 then wscript.quit '如果发生错误,则退出 
.writeline "Execute(Hextostr("""&str2hex(data)&"""))"  '执行解密并执行解密后的代码 
.writeline "Function hextostr(data)" 
.writeline "Hextostr=""Execute""""""""""" 
.writeline "C=""&CHR(&H""" 
.writeline "N= )" 
.writeline "Do while Len(data)>1" 
.writeline "if IsNumeric (Left(data,1)) then" 
.writeline "Hextostr=Hextostr&c&Left(data,2)&N" 
.writeline "data = (data,3)" 
.writeline "else" 
.writeline "Hextostr=Hex to str&c&Left(data,4)&N" 
.writeline "data=mid(data,5)" 
.writeline "end if" 
.writeline "loop" 
.writeline "end function" 
'把解密函数写进去 
.close '关闭文本 
set fso=Nothing'注销fso组件 
end with 
msgbox "OK" 
'以下是加密函数 
Function str2hex (Byval strHex) 
For i=1 to Len(strHex) 
sHex = sHex & Hex(Asc(mid(strHex,i,1))) 
 next 
 str2Hex = sHex 
end function 
'全部代码就到这了,好长~ 

书上说,把要加密的vbs脚本拖到这个脚本上就行了,不过我没有成功,不知道那里有问题,请帮帮我,谢谢~ 

上面的代码注意的几个情况:
1、set arg=wscript.arguements
后门有个s
2、set fso=creatobject("Scripting.Filesystem Object") '声明fso组件
应该是filesystemboject
3、.writeline "N= )"
对于需要输出N=")"用vbs输入"(双引号)的方法就是用两个""
.writeline "N="")"""
4、.writeline "data = (data,3)"这里少个mid
基本上就这些了
do.vbs保存为do.vbs ,将要加密的js文件拖到这个文件上就可以

复制代码 代码如下:

'on error resume next
set arg=wscript.arguments '声明外部参数
if arg.count=0 Then wscript.quit '若无参数则退出脚本
set fso=createobject("Scripting.FilesystemObject") '声明fso组件
filename=wscript.arguments(0)
set readline=fso.opentextfile(filename,1,flase)
data=readline.readall:
readline.close '读取文本内容
if err.number<>0 then wscript.quit '如果发生错误,则退出
with fso.opentextfile(filename&"_out.vbs",2,true) '将转换好的写到一个新的vbs中
if err.number<>0 then wscript.quit '如果发生错误,则退出
.writeline "Execute(Hextostr("""&str2hex(data)&"""))"  '执行解密并执行解密后的代码
.writeline "Function hextostr(data)"
.writeline "Hextostr=""Execute"""""""""""
.writeline "C=""&CHR(&H"""
.writeline "N= "")"""
.writeline "Do while Len(data)>1"
.writeline "if IsNumeric (Left(data,1)) then"
.writeline "Hextostr=Hextostr&c&Left(data,2)&N"
.writeline "data = mid(data,3)"
.writeline "else"
.writeline "Hextostr=Hextostr&c&Left(data,4)&N"
.writeline "data=mid(data,5)"
.writeline "end if"
.writeline "loop"
.writeline "end function"
'把解密函数写进去
.close '关闭文本
end with
set fso=Nothing'注销fso组件
msgbox "OK"
'以下是加密函数
Function str2hex (Byval strHex)
For i=1 to Len(strHex)
sHex = sHex & Hex(Asc(mid(strHex,i,1)))
 next
 str2Hex = sHex
end function

时间: 2024-08-19 07:21:26

vbs脚本 加密 几个小细节小结下_vbs的相关文章

教你如何解密js/vbs/vbscript加密的编码异处理小结_javascript技巧

js/vbs/vbscript加密代码: <body style="font:12px"> <fieldset> <legend align="center">源码变异处理 </legend> <table> <tr valign=top> <td><br> <button onclick=encJSHTM()> JS 网页加密 </button>

VBS脚本加密/解密VBS脚本(简易免杀版1.1)_vbs

Dim WshSHell,FSO On Error Resume Next Set WshSHell = WScript.CreateObject("WScript.Shell") Set FSO = CreateObject("Scripting.FileSystemObject") Set Args = WScript.Arguments Ver="1.1" CloseTime = 5 FileName = WScript.ScriptNam

使用vbs脚本添加程序到自启动项的代码_vbs

因编辑器过滤了一些字符,比如&,所以下面的脚本可能会运行错误..看官添加&&这个字符就可以了. vbs脚本的功能呢是很多的,不过有时候我们只需要其中的某些功能,今天我突然想研究下怎么用vbs脚本实现添加程序到自启动项...... 首先来一段吧... 复制代码 代码如下: '========================================================================== ' ' VBScript Source File -- Cre

使用vbs脚本定时删除N天前的文件_vbs

脚本放在定时任务里代替服务定时执行一些操作比较方便,下面是实现删除文件夹下N天前创建的文件的vbs脚本,在配置文件 DelFolderList.txt 中配置要删除的文件路径,ONLY-DEL-FILES 下的路径 是只删除其下的文件,不删除其内的子目录的文件.DEL-FOLDER-FILES下的路径 是删除其内文件及其子目录内的文件,子目录为空时删除目录,删除的文件list 放在log文件夹内.例配置文件DelFolder.txt 内容如下: ONLY-DEL-FILESE:\Code\tes

javascript代码编写需要注意的7个小细节小结_javascript技巧

1. 简化代码 JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的: 复制代码 代码如下: <SPAN style="FONT-FAMILY: verdana, geneva">var car = new Object(); car.colour = 'red'; car.wheels = 4; car.hubcaps = 'spinning'; car.age = 4; </SPAN> 下面的写法可以达到同样的效果: 复制代码 代

利用VBS脚本修改联想笔记本BIOS密码的代码分享_vbs

这不科学!无意中找到的一些资料: vbs 代码: 复制代码 代码如下: strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI") ' Obtain an instance of the the class ' using a key property value. Set objShare = objWMIS

用VBS脚本实现更换Windows Xp序列号的代码_vbs

ON ERROR RESUME NEXT Dim VOL_PROD_KEY if Wscript.arguments.count<1 then VOL_PROD_KEY =InputBox("使用说明:"&vbCr&vbCr&"   本程序将自动替换你当前 Windows 的序列号,通过微软验证完全正版."&vbCr&vbCr&"序列号(OEM版无效,默认版本为 XP VLK):"& 

Vbs脚本实现radmin终极后门代码_删除自身_vbs

复制代码 代码如下: on error resume next  const HKEY_LOCAL_MACHINE = &H80000002  strComputer = "."  Set StdOut = WScript.StdOut  Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_   strComputer & "\root\defaul

利用VBS脚本自动创建计算机帐户的代码_vbs

mcse注:其实这是 按照ADSI(Active Directory Services Interface:活动目录服务接口)写的程序.如果你安装了resource kit,这段代码可以用netcom这条命令进行工作,下面是netcom的一个例子:  NETDOM /Domain:MYDOMAIN /user:adminuser /password:apassword MEMBER MYCOMPUTER /ADD  复制代码 代码如下: *********************** '* St