Server 2008R2上的scripting.encoder

时间:2016-03-17 12:49:06

标签: vbscript asp-classic windows-server-2008-r2 encoder

我最近不得不移动构建服务器,因为我们正在将代码库从.NET 4推进到4.6.1。我现在遇到的问题是我们使用了许多经典ASP页面,我们使用scrrun.dll scripting.encoder对象进行模糊处理。我们的旧构建服务器,Windows 2003机箱,没有问题。当前框似乎无法管理修改<%@ Language=VBScript %>标记。当我使用scripting.encoder.EncodeScriptFile cflag0拨打1时,我会收到

的异常代码
  模块msvcrt.dll上的

c00000005。

当我使用cflag 2时,该脚本会很好地混淆,但该标志会将语言标记的修改关闭为<%@ Language=VBScript.Encode %>,或者在某些情况下将其修改为cflag在语言标记中,0 <%@ Language=VBScript.Encode %>会插入2标记,但scripting.encoder.EncodeScriptFile不会。{/ p>

有没有办法让Option Explicit dim oEncoder, oFilesToEncode, file, sDest dim sFileOut, oFile, oEncFile, oFSO, i dim oStream, sSourceFile set oFilesToEncode = WScript.Arguments set oEncoder = CreateObject("Scripting.Encoder") For i = 0 to oFilesToEncode.Count - 1 set oFSO = CreateObject("Scripting.FileSystemObject") file = oFilesToEncode(i) set oFile = oFSO.GetFile(file) Set oStream = oFile.OpenAsTextStream(1) sSourceFile=oStream.ReadAll oStream.Close sDest = oEncoder.EncodeScriptFile(".asp",sSourceFile,1,"") sFileOut = Left(file, Len(file) - 3) & "aspe" Set oEncFile = oFSO.CreateTextFile(sFileOut) oEncFile.Write sDest oEncFile.Close if i = 1 then exit for end if Next 在Windows Server 2008 R2中正常运行?还有另一种方法可以做同样的功能吗?

我正在使用此脚本作为测试人员:

set oFSO = CreateObject("ADODB.Stream")
oFSO.CharSet = "utf-8"
file = oFilesToEncode(i) 
oFSO.open
oFSO.LoadFromFile(file) 
sSourceFile=oFSO.ReadText() 
sDest = oEncoder.EncodeScriptFile(".asp",sSourceFile,0,"") 
sFileOut = Left(file, Len(file) - 3) & "aspe" 
oFSO.WriteText(sFileOut) 
oFSO.SaveToFile sDest 
oEncFile.Close 

编辑:由于代码在评论中没有很好地格式化,因此修改了部分

getState()

0 个答案:

没有答案