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

时间:2022-09-19 11:14:08
  1. Dim WshSHell,FSO  
  2. On Error Resume Next  
  3. Set WshSHell = WScript.CreateObject("WScript.Shell")  
  4. Set FSO = CreateObject("Scripting.FileSystemObject")  
  5. Set Args = WScript.Arguments  
  6. Ver="1.1"  
  7. CloseTime = 5  
  8. FileName = WScript.ScriptName  
  9. FileFullName = WScript.ScriptFullName  
  10. FilePath = FSO.GetParentFolderName(FileFullName)  
  11. InsPath = FSO.GetSpecialFolder(1)  
  12. InsFullName = FSO.BuildPath(InsPath ,FileName)  
  13. Copyright="废铁"  
  14. QQ="QQ:415736"  
  15. Email="Email:415736@163.com"  
  16. InsTitle="加密/解密VBS脚本(简易免杀版)"&Ver  
  17. InsAnswer="加密/解密VBS脚本(简易免杀版)"&Ver  
  18. RegPath1="HKEY_CLASSES_ROOT\vbsfile\shell\EnCode_VBS\"  
  19. RegValue1="加密/解密VBS脚本"&Ver  
  20. RegForm1="REG_SZ"  
  21. RegPath2="HKEY_CLASSES_ROOT\vbsfile\shell\EnCode_VBS\command\"  
  22. RegValue2="wscript.exe " & chr(34) & InsFullName & chr(34) & " " & chr(34) & "%L" & chr(34)  
  23. RegPath3="HKEY_CLASSES_ROOT\vbsfile\shell\EnCode_VBS\EnCode_Very"  
  24. RegValue3="0"  
  25. RegValue4="1"  
  26. IF FileFullName <> InsFullName then  
  27. intAnswer = MsgBox("【是】将“"+ InsAnswer +"”加入到右键菜单,"&Chr(10)&Chr(10)&"【否】将“  
  28. "+ InsAnswer +"”从右键菜单删除。 ", vbQuestion + vbYesNoCancel, "安装 - "+ InsTitle +" - "+   
  29. Copyright)  
  30.     If intAnswer = vbYes Then  
  31. WshSHell.RegWrite RegPath1,RegValue1,RegForm1  
  32. WshSHell.RegWrite RegPath2,RegValue2,RegForm1  
  33. WshSHell.RegWrite RegPath3,RegValue4,RegForm1  
  34. FSO.GetFile(FileFullName).Copy(InsFullName)  
  35. WshSHell.popup _  
  36. "添加脚本文件:"+chr(10)+InsFullName+chr(10)+chr(10)+ _  
  37. "添加注册表项:"+chr(10)+chr(34)+ RegPath1 +chr(34)+chr(10)+ _  
  38. chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _  
  39. chr(10) & "Copyright(C)  " + Copyright +"   " & QQ &"   " + Email _  
  40. , CloseTime, "安装成功 - "+ InsTitle +" - "+ Copyright, 0 + 64  
  41. end if  
  42.         If intAnswer = vbNo Then  
  43. WshSHell.RegDelete RegPath3  
  44. WshSHell.RegDelete RegPath2  
  45. WshSHell.RegDelete RegPath1  
  46. FSO.DeleteFile InsFullName  
  47. WshSHell.popup _  
  48. "删除脚本文件:"+chr(10)+InsFullName+chr(10)+chr(10)+ _  
  49. "删除注册表项:"+chr(10)+chr(34)+ RegPath1 +chr(34)+chr(10)+ _  
  50. chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _  
  51. chr(10) & "Copyright(C)  " + Copyright +"   " & QQ &"   " + Email _  
  52. , CloseTime, "卸载成功 - "+ InsTitle +" - "+ Copyright, 0 + 64  
  53. end if  
  54. ELSE  
  55. Package = WScript.Arguments.Item(0)  
  56. PkgName=FSO.GetBaseName(Package)  
  57. PkgPath=FSO.GetParentFolderName(Package)  
  58. Set ReadFile = FSO.OpenTextFile(Package, 1)  
  59. ReadAllTextFile=ReadFile.ReadAll  
  60. if left(ReadAllTextFile,10)<>"Rem EnCode" then  
  61. EnCodePanDuan="Rem EnCode-Easy By QQ:415736"  
  62. CodeString=ReadAllTextFile  
  63. For i=1 To Len(CodeString)  
  64. TempNum = Asc(Mid(CodeString,i,1))  
  65. If TempNum = 13 Then  
  66. TempNum = 28  
  67. ElseIf TempNum = 10 Then  
  68. TempNum = 29  
  69. elseif TempNum=34 Then  
  70. TempNum = 18  
  71. elseif TempNum>96 and TempNum<110 then  
  72. TempNum=TempNum+13  
  73. elseif TempNum>109 and TempNum<123 then  
  74. TempNum=TempNum-13  
  75. elseif TempNum>47 and TempNum<53 then  
  76. TempNum=TempNum+5  
  77. elseif TempNum>52 and TempNum<58 then  
  78. TempNum=TempNum-5  
  79. End If  
  80. ThisText = ThisText & chr(TempNum)  
  81. Next  
  82. Call EnCodeFile  
  83. Else  
  84. Call UnCodeFile  
  85. end if  
  86. End if  
  87. Set WshSHell = Nothing  
  88. Set FSO = Nothing  
  89. Set Args = Nothing  
  90. WScript.Quit(0)  
  91. Sub EnCodeFile()  
  92. Set NewFile = FSO.CreateTextFile(FSO.BuildPath(PkgPath ,PkgName&"_Encode.VBS"), True)  
  93. NewFile.WriteLine(EnCodePanDuan)  
  94. NewFile.WriteLine("ExeString="&chr(34)&ThisText&chr(34))  
  95. NewFile.WriteLine("Execute("&chr(34)&"For i=1 To Len(ExeString)"&chr(34)&"&vbCrLf&"&chr(34)  
  96. &"TempNum = Asc(Mid(ExeString,i,1))"&chr(34)&"&vbCrLf&"&chr(34)&"If TempNum = 28 Then"&chr  
  97. (34)&"&vbCrLf&"&chr(34)&"TempNum = 13"&chr(34)&"&vbCrLf&"&chr(34)&"ElseIf TempNum = 29   
  98. Then"&chr(34)&"&vbCrLf&"&chr(34)&"TempNum = 10"&chr(34)&"&vbCrLf&"&chr(34)&"elseif   
  99. TempNum=18 Then"&chr(34)&"&vbCrLf&"&chr(34)&"TempNum = 34"&chr(34)&"&vbCrLf&"&chr(34)  
  100. &"elseif TempNum>96 and TempNum<110 then"&chr(34)&"&vbCrLf&"&chr(34)  
  101. &"TempNum=TempNum+13"&chr(34)&"&vbCrLf&"&chr(34)&"elseif TempNum>109 and TempNum<123   
  102. then"&chr(34)&"&vbCrLf&"&chr(34)&"TempNum=TempNum-13"&chr(34)&"&vbCrLf&"&chr(34)&"elseif   
  103. TempNum>47 and TempNum<53 then"&chr(34)&"&vbCrLf&"&chr(34)&"TempNum=TempNum+5"&chr(34)  
  104. &"&vbCrLf&"&chr(34)&"elseif TempNum>52 and TempNum<58 then"&chr(34)&"&vbCrLf&"&chr(34)  
  105. &"TempNum=TempNum-5"&chr(34)&"&vbCrLf&"&chr(34)&"End If"&chr(34)&"&vbCrLf&"&chr(34)  
  106. &"ThisText = ThisText & chr(TempNum)"&chr(34)&"&vbCrLf&"&chr(34)&"Next"&chr(34)&")")  
  107. NewFile.WriteLine("Execute(ThisText)")  
  108. NewFile.Close  
  109. WshShell.popup chr(10) &_  
  110. "加密成功了!保存为文件:"+ chr(10) &chr(10) & _  
  111. FSO.BuildPath(PkgPath ,PkgName&"_Encode.VBS")+chr(10)+chr(10)+ _  
  112. chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _  
  113. chr(10) & "Copyright(C)  " + Copyright +"   " & QQ &"   " + Email _  
  114. , CloseTime, EnCodePanDuan +" - "+ Copyright, 0 + 64  
  115. End Sub  
  116. Sub UnCodeFile()  
  117. Set ReadFile = FSO.OpenTextFile(Package, 1)  
  118. ReadLineTextFile1=ReadFile.ReadLine  
  119. ReadLineTextFile2=ReadFile.ReadLine  
  120. ReadLineTextFile3=ReadFile.ReadLine  
  121. ReadFile.Close  
  122. Set NewFile = FSO.CreateTextFile(FSO.BuildPath(PkgPath ,PkgName&"_Uncode.VBS"), True)  
  123. NewFile.WriteLine(ReadLineTextFile2)  
  124. NewFile.WriteLine(ReadLineTextFile3)  
  125. NewFile.WriteLine("EnCodePanDuan="&chr(34)&ReadLineTextFile1&chr(34)&vbCrLf&"EnCodePD="&chr  
  126. (34)&"Rem EnCode-Very By QQ:415736"&chr(34)&vbCrLf&"For i=1 To Len  
  127. (ThisText)"&vbCrLf&"TempNum = Asc(Mid(ThisText,i,1))"&vbCrLf&"TempChar = Chr  
  128. (TempNum)"&vbCrLf&"if EnCodePanDuan=EnCodePD then"&vbCrLf&"If TempChar = Chr(58)   
  129. Then"&vbCrLf&"TempChar = Chr(13)"&vbCrLf&"End If"&vbCrLf&"End If"&vbCrLf&"ThisTextTem =   
  130. ThisTextTem & TempChar"&vbCrLf&"Next")  
  131. NewFile.WriteLine("strCode = (ThisTextTem)"&vbCrLf&"Set WshSHell = WScript.CreateObject  
  132. ("&chr(34)&"WScript.Shell"&chr(34)&")"&vbCrLf&"Set FSO = CreateObject("&chr(34)  
  133. &"Scripting.filesystemobject"&chr(34)&")"&vbCrLf&"FileName =   
  134. WScript.ScriptName"&vbCrLf&"Set fC = FSO.OpenTextFile(FileName, 2, true)"&vbCrLf&"fC.Write   
  135. strCode"&vbCrLf&"fC.Close"&vbCrLf&"Set WshSHell = Nothing"&vbCrLf&"Set FSO =   
  136. Nothing"&vbCrLf&"WScript.Quit(0)")  
  137. NewFile.Close  
  138. WScript.Sleep 1500  
  139. WshSHell.Run (chr(34)&FSO.BuildPath(PkgPath ,PkgName&"_Uncode.VBS")&chr(34)), vbHide  
  140. WshShell.popup chr(10) &_  
  141. "解密成功了!保存为文件:"+ chr(10) &chr(10) & _  
  142. FSO.BuildPath(PkgPath ,PkgName&"_Uncode.VBS")+chr(10)+chr(10)+ _  
  143. chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _  
  144. chr(10) & "Copyright(C)  " + Copyright +"   " & QQ &"   " + Email _  
  145. , CloseTime, "解密成功 - "+ InsTitle +" - "+ Copyright, 0 + 64  
  146. End Sub