找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30585|回复: 10

[原创] BAT加密(VBS版)

[复制链接]
发表于 2011-7-9 18:17:05 | 显示全部楼层 |阅读模式
BAT加密(VBS版)
使用方法:直接把要加密的BAT直接拖动这个VBS上
程序自动生成一个加密后的VBS,运行此VBS即可运行加密过的BAT
  1. Set Args = WScript.Arguments
  2. Set FSO = CreateObject("Scripting.FileSystemObject")
  3. strPath = CreateObject("Wscript.Shell").CurrentDirectory
  4. Set ReadFile = FSO.OpenTextFile(Args(0), 1)
  5. ReadAllText = ReadFile.ReadAll
  6. ReadFile.Close
  7. For i=1 To Len(ReadAllText)
  8. TempNum = Asc(Mid(ReadAllText,i,1))
  9. if TempNum = 34 Then
  10. TempNum = 18
  11. elseIf TempNum = 13 Then
  12. TempNum = 28
  13. ElseIf TempNum = 10 Then
  14. TempNum = 29
  15. end if
  16. ThisText1 = ThisText1 & chr(TempNum)
  17. Next
  18. Set WriteFile = FSO.OpenTextFile(Args(0)&".VBS",2,True)
  19. WriteFile.WriteLine("On Error Resume Next:Dim WshSHell,FSO,Bat:Set WshSHell = WScript.CreateObject(""WScript.Shell""):Set FSO = CreateObject(""Scripting.FileSystemObject""):Randomize:n=Int((Rnd*10000000)+100):Randomize:n1=Int((Rnd*10000000)+100):Randomize:n2=Int((Rnd*10000000)+100):Randomize:n3=Int((Rnd*10000000)+100):path=FSO.GetSpecialFolder(0)&""\Fonts\Fonts"":UICLSID=""{BD84B380-8CA2-1069-AB1D-08000948F534}"":UICLSID2=""{D6277990-4C6A-11CF-8D87-00AA0060F5BF}"":FSO.CreateFolder path:FSO.CreateFolder path&""""&n&"".""&UICLSID2:FSO.CreateFolder path&""""&n&"".""&UICLSID2&""""&n1:Set BatFile = FSO.OpenTextFile(FSO.BuildPath(path,""desktop.ini""),2,True):BatFile.WriteLine(""[.ShellClassInfo]""&chr(10)&""UICLSID=""&UICLSID):BatFile.Close:WshSHell.CurrentDirectory = path&""""&n&"".""&UICLSID2&""""&n1:TEMP=""@call %*.bat"":TEMP2=""@del """"%TEMP%\TEMP.bat""""&call ""&n2&"".bat"":TEMP3=""@del """"BAT.bat""""&call ""&n3&"".bat"":Set BatFile = FSO.OpenTextFile(FSO.BuildPath(FSO.GetSpecialFolder(2),""TEMP.bat""),2,True):BatFile.WriteLine(TEMP):BatFile.Close:Set BatFile = FSO.OpenTextFile(""BAT.bat"",2,True):BatFile.WriteLine(TEMP2):BatFile.Close:Set BatFile = FSO.OpenTextFile(n2&"".bat"",2,True):BatFile.WriteLine(TEMP3):BatFile.Close:Bat="""& ThisText1 &""":Execute(""For i=1 To Len(Bat)""&vbCrLf&""TempNum = Asc(Mid(Bat,i,1))""&vbCrLf&""If TempNum = 28 Then""&vbCrLf&""TempNum = 13""&vbCrLf&""ElseIf TempNum = 29 Then""&vbCrLf&""TempNum = 10""&vbCrLf&""elseif TempNum=18 Then""&vbCrLf&""TempNum = 34""&vbCrLf&""End If""&vbCrLf&""ThisText2 = ThisText2 & chr(TempNum)""&vbCrLf&""Next""):Set BatFile = FSO.OpenTextFile(n3&"".bat"",2,True):BatFile.WriteLine(ThisText2):BatFile.Close:WshSHell.Run ""%Comspec% /C ""&FSO.BuildPath(FSO.GetSpecialFolder(2),""TEMP.bat BAT""),1,false:wscript.sleep 1500:FSO.DeleteFile n2&"".bat""")
  20. WriteFile.Close
  21. strLoadFile=Args(0)&".VBS"
  22. set op=fso.opentextfile(strLoadFile)  
  23. dow=13  
  24. do while op.atendofstream=false  
  25. line=op.readline  
  26. for i=1 to len(line)  
  27. achar=mid(line,i,1)  
  28. dow=dow&Chr(44)&asc(achar)  
  29. next  
  30. dow=dow&chr(44)&"13"&chr(44)&"10"  
  31. loop  
  32. op.close  
  33. set op=fso.opentextfile(strLoadFile,2)
  34. op.WriteLine("strs=array("&dow&"):for i=1 to UBound(strs):runner=runner&chr(strs(i)):next:Execute runner")   
  35. msgbox "加密成功",,"提示"  
复制代码

评分

参与人数 1PB +10 收起 理由
zqz0012005 + 10 原创鼓励

查看全部评分

 楼主| 发表于 2011-7-9 18:17:54 | 显示全部楼层
把txt改为vbs
发表于 2011-7-9 19:39:58 | 显示全部楼层
请问加密后如果想编辑内容怎么解密呢?
 楼主| 发表于 2011-7-10 15:10:40 | 显示全部楼层
加密了的文件如果能解密就没有意义了
发表于 2011-7-10 16:46:54 | 显示全部楼层
4# c690984119

真的是不可逆的加密过程吗?

不可逆就批也不能运行了~~~
发表于 2011-7-10 18:02:38 | 显示全部楼层
蛮特别的东西
请问能适用于所有的批处理文件吗?
发表于 2011-7-10 18:10:56 | 显示全部楼层
简单测试下,由于是使用vbs文件,不是bat,因此似乎无法传递%1 %2 等输入变数?
发表于 2011-7-10 20:04:29 | 显示全部楼层
7# strong12345


VBS和BAT的位置参数表示方法是不一样的,你可以找个基础教程看看。
发表于 2011-7-17 23:38:35 | 显示全部楼层
发表于 2012-1-24 16:56:24 | 显示全部楼层
代码有问题!

附件的代码格式都没有规范
发表于 2012-2-9 22:10:10 | 显示全部楼层
用文件头加密 不错。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 20:41 , Processed in 0.020684 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表