-5

У меня есть этот файл VBS . Кто-то отправил его мне по электронной почте. Может кто-нибудь сказать мне, что делает этот файл?

dim M
M = "Chinese names"
S = ""
Dim N
n = 0
dim NN
NN = "ede"
do until n = Len(M)
n = n + 1
S = S & Chr(AscW(Mid(M, N, 1)) - &H9000 + len(NN))
loop
Execute S

2 ответа2

1

Первый совет:

Когда вы получаете такие неизвестные файлы VBScript, как это, первым делом никогда не выполняйте его, пока не поймете, что этот файл может выполнить.

Второй совет:

Если вы действительно хотите показать, что он выполняет, просто отредактируйте его с помощью Notepad или Notepad++ и найдите это слово Execute и замените его на MsgBox чтобы получить то, что этот скрипт может делать!

Я исправил ошибку, и я добавил функцию для записи кода в текстовый файл, и вы получили китайский символ (Unicode), например, такой:

灆 火 灬 灱 灨 灶 灨 瀣 灱 灤 灰 灨 灶

'************************************Added by Hackoo************************************
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("WScript.Shell")
LogFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "txt"
If fso.FileExists(LogFile) Then
    fso.DeleteFile(LogFile)
End If
'****************************************************************************************
dim M
M = "Chinese names"
S = ""
Dim N
n = 0
dim NN
NN = "ede"
do until n = Len(M)
n = n + 1
S = S & ChrW(AscW(Mid(M, N, 1)) - &H9000 + len(NN))
loop
'Just to popup a msgbox to show the chinese character in unicode instead of using Execute
Msgbox S
'Write the contents of the variable S into a text file
Call WriteLog(S,LogFile)
'To open the LogFile with notepad
ws.run LogFile
'************************************Added by Hackoo************************************
'Function to write into text file with unicode
Sub WriteLog(strText,LogFile)
    Dim fso,ts 
    Const ForAppending = 8
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.OpenTextFile(LogFile,ForAppending,True,-1)
    ts.WriteLine strText
    ts.Close
End Sub
'*****************************************************************************************
0

Я не уверен, что это действительно что-то делает, но это намерение, конечно, выглядит хитроумно. Он создает строку длиной 14 символов, содержащую то, что выглядит так, как предполагается, содержит двоичные символы, а затем, наконец, выполняет эту строку. Что это тогда, я понятия не имею, но это не то, что я попробую на своей машине.

Однако я думаю, что это имеет ошибки. Мои навыки VBS довольно стары и определенно не актуальны, но я не думаю, что есть функция AscW - Asc да, но в VBS это все равно будет функция широких символов.

Если бы друг прислал это тебе, я бы посчитал это неудачной попыткой юмора.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .