解码函数并获取 Microsoft VBScript 运行时错误“800a000d”
Decode Function and get Microsoft VBScript runtime error '800a000d'
我有密码
Function DeCrypt(strName)
if strName <> "" then
g_KeyLocation = "m:\mysvr_src\mycart_svr.txt"
'g_Key = mid(ReadKeyFromFile(g_KeyLocation),1,Len(strName))
g_Key="gsovjrcenzhqjxigkhuhkfmabwxuzsuexvypfohbkmhdilihfbvhgfzccckvafoazynbhyeexinfwmeaesjzhwtqyaaybvghxwyfmewamhqwygaaqcbjklyeblidcvapajwdumodndhdkaauzxqnohrgvezmznbmtfyuadkbjrdbedjwsarlqpejrzszqdlkngwfdlphnswqewdtedwensocyqcryzkxtegmarfkiycyhloatbwtcxyzdyvpwjcovvtqodlxegmzletfxpiejlomorotgnpxeybqsclioisuoixvanwndpnerpyfaudkdivpjukeualkmgdkmpfvjszpxmqzcjwrfurmkolbibhvedqlsqzbyzdhqdicjqxesbhjtrskogydnhnndjviusctgipptulmdyhfhkkvxkajkazedplpuganevendeqcvgjeyaqvugfmupexcdlyvucdumrwmapofseeqvpyopfonhfgmsmjxrmdoztsqqnk"
count = 1
while InStr(strname,"_")
iKeyChar = (Asc(mid(g_Key,count,1)))
strName = Mid(strName,2,len(strName)-1)
if InStr(strName,"_")-1 = -1 then
iStringChar = strName
else
iStringChar = Mid(strName,1,InStr(strName,"_")-1)
end if
iDeCryptChar = iKeyChar Xor iStringChar
strDecrypted = strDecrypted & Chr(iDeCryptChar)
strName = Right(strName,len(strName)-instr(strName,"_")+1)
count = count + 1
wend
deCrypt = strDecrypted
else
deCrypt = ""
end if
End Function
我得到了一些正确的结果然后它停止并向我显示这个错误:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'iStringChar'
错误在这一行:
iDeCryptChar = iKeyChar Xor iStringChar
该错误实际上是不言自明的。您不能将整数与字符串异或。当然你会得到一个类型不匹配。
改变这个:
if InStr(strName,"_")-1 = -1 then
iStringChar = strName
else
iStringChar = Mid(strName,1,InStr(strName,"_")-1)
end if
进入这个:
如果 InStr(strName,"_")-1 = -1 那么
iStringChar = <b>Asc(</b>strName<b>)</b>
别的
iStringChar = <b>Asc(</b>Mid(strName,1,InStr(strName,"_")-1)<b>)</b>
如果
结束
我有密码
Function DeCrypt(strName)
if strName <> "" then
g_KeyLocation = "m:\mysvr_src\mycart_svr.txt"
'g_Key = mid(ReadKeyFromFile(g_KeyLocation),1,Len(strName))
g_Key="gsovjrcenzhqjxigkhuhkfmabwxuzsuexvypfohbkmhdilihfbvhgfzccckvafoazynbhyeexinfwmeaesjzhwtqyaaybvghxwyfmewamhqwygaaqcbjklyeblidcvapajwdumodndhdkaauzxqnohrgvezmznbmtfyuadkbjrdbedjwsarlqpejrzszqdlkngwfdlphnswqewdtedwensocyqcryzkxtegmarfkiycyhloatbwtcxyzdyvpwjcovvtqodlxegmzletfxpiejlomorotgnpxeybqsclioisuoixvanwndpnerpyfaudkdivpjukeualkmgdkmpfvjszpxmqzcjwrfurmkolbibhvedqlsqzbyzdhqdicjqxesbhjtrskogydnhnndjviusctgipptulmdyhfhkkvxkajkazedplpuganevendeqcvgjeyaqvugfmupexcdlyvucdumrwmapofseeqvpyopfonhfgmsmjxrmdoztsqqnk"
count = 1
while InStr(strname,"_")
iKeyChar = (Asc(mid(g_Key,count,1)))
strName = Mid(strName,2,len(strName)-1)
if InStr(strName,"_")-1 = -1 then
iStringChar = strName
else
iStringChar = Mid(strName,1,InStr(strName,"_")-1)
end if
iDeCryptChar = iKeyChar Xor iStringChar
strDecrypted = strDecrypted & Chr(iDeCryptChar)
strName = Right(strName,len(strName)-instr(strName,"_")+1)
count = count + 1
wend
deCrypt = strDecrypted
else
deCrypt = ""
end if
End Function
我得到了一些正确的结果然后它停止并向我显示这个错误:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'iStringChar'
错误在这一行:
iDeCryptChar = iKeyChar Xor iStringChar
该错误实际上是不言自明的。您不能将整数与字符串异或。当然你会得到一个类型不匹配。
改变这个:
if InStr(strName,"_")-1 = -1 then
iStringChar = strName
else
iStringChar = Mid(strName,1,InStr(strName,"_")-1)
end if
进入这个:
如果 InStr(strName,"_")-1 = -1 那么
iStringChar = <b>Asc(</b>strName<b>)</b>
别的
iStringChar = <b>Asc(</b>Mid(strName,1,InStr(strName,"_")-1)<b>)</b>
如果
结束