几年前貌似就说了ScriptCryptor可以破解。。。他可能意思是他不调用wscript?
所以无文件形式?这个就不清楚了。。。反正内存里面直接dump的出来。。
'http://cn-dos.net/forum/viewthread.php?tid=50226
Dim ching, env
Set ching = CreateObject("WScript.Shell")
Set env = ching.Environment("PROCESS")
Set fso = CreateObject("Scripting.FileSystemObject")
batFile = "test.bat"
env("关闭显示") = "@echo off"
env("变量延迟") = "SETLOCAL ENABLEDELAYEDEXPANSION"
env("强制切换中文代码页") = "(CHCP 437 &GRAFTABL 936)>NUL"
env("颜色白蓝") = "color f1"
env("变量tit") = "set tit=SYBN 演示脚本 裁剪自 ""SYBN DLL 0.0.1""[SD.bat]"
env("变量SYBCOM") = "SET SYBCOM=A100;E8A 80 CD89 C581 81 F980 7F06 CD09 8016 1F9 687F 64EB 83BE E800 65 5AE3 73E8;3C00 7F18 8853 E8C6 57 4CE3 65E8 3C00 7F4F 8845 B0C2 F602 50E2 A0B0 E6F6 15F;E8C7 3D 32E3 C387 393C 27E 904 FB80 7E39 8003 9C3 F24 E380 C00F 4E0 D808;B850 B800 750 295A 89F5 EBE9 AC46 ACAC ACAC F7E2 4CB4 21CD FAEB E088 4CB4;21CD ACAC 203C 475 F9E2 9EB C388 3CAC 7520 E202 C3F9 C387 302C EB80 B430;F60A E4 C3D8 5953 4E42 DED0 C4B8 3032 3930 3231 3631 AC24 243C A74 88AA AAD0;F5E2 B4EB B2EB E349 49AF ACE3 B6E8 E3FF 87A7 3CC3 7E39 402 8009 39FB 37E;C380 2409 800F FE3 10B2 E2F6 D800 C288 C7E2 86EB"
env("变量一") = "SET U=;A80;DB 2D 0D ""11230fcS$f6Y$f1B$f9N $f3dll $f9演示脚本 0.01"" 0D;;RCX;F0;G;Q"
env("变量二") = "SET V=;A80;DB 2A 0D ""11330f0[ .:2010$fc-$f002$fc-$f004:. ]"" 0D;;RCX;F0;G;Q"
env("变量三") = "SET W=;A80;DB 00 0D 0D;;RCX;F0;G;Q"
env("X0X13") = "SET A=0=0;1=0;2=0;3=2;4=2;5=A0;6=A0;7=A2;8=0;9=A4;10=4;11=A0;12=0;13=4"
env("Y0Y13") = "SET B=;0=2;1=A0;2=A2;3=0;4=A0;5=0;6=2;7=0;8=A4;9=0;10=A0;11=4;12=4;13=0"
env("AB") = "SET X%A:;=&SET X%%B:;=&SET Y%"
env("标题") = "TITLE !tit!"
env("提示") = "ECHO !tit!正在初始化,请按任意键继续..."
env("DEBUG_SYBC") = "(ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%W:;=&ECHO.%)|DEBUG>NUL"
env("标签") = ":0"
env("随机数") = "SET /A f=%random%%%50"
env("判断大小") = "IF %F% LSS 14 SET X=!X%F%!&SET y=!y%F%!"
env("颜色灰白") = "color f7"
env("彩字1") = "(ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%U:;=&ECHO.%)|DEBUG>NUL"
env("彩字2") = "(ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL"
env("全屏内容移动") = "(echo m b800:%X% fa0 b800:%Y%&echo q)|debug >nul"
env("转到标签") = "goto :0"
sContent = "" & _
"setlocal enabledelayedexpansion" & vbCrLf & _
"" & vbCrLf & _
"%关闭显示%" & vbCrLf & _
"::::SYBN 演示脚本 内含注释 默认一律注释下一行的意义::::::" & vbCrLf & _
"" & vbCrLf & _
"::打开延迟环境变量" & vbCrLf & _
"%变量延迟%" & vbCrLf & _
"" & vbCrLf & _
"::初始页码防止运行16位子系统后系统默认语言被改成英文从而不支持中文(脚本不含中文可省略此行)" & vbCrLf & _
"%强制切换中文代码页%" & vbCrLf & _
"" & vbCrLf & _
"::初始颜色" & vbCrLf & _
"%颜色白蓝%" & vbCrLf & _
"" & vbCrLf & _
"::定义脚本名/版本" & vbCrLf & _
"%变量tit%" & vbCrLf & _
"" & vbCrLf & _
"::存储sybc的16进制数据" & vbCrLf & _
"%变量SYBCOM%" & vbCrLf & _
"" & vbCrLf & _
"::存储调用sybc显示彩色的""SYBC dll 演示脚本 0.01""的16进制DEBUG指令数据" & vbCrLf & _
"%变量一%" & vbCrLf & _
"" & vbCrLf & _
"::存储调用sybc显示彩色的""[ .:2010-02-08:. ]""的16进制DEBUG指令数据" & vbCrLf & _
"%变量二%" & vbCrLf & _
"" & vbCrLf & _
"::存储调用sybc获取键盘输入的DEBUG指令数据" & vbCrLf & _
"%变量三%" & vbCrLf & _
"" & vbCrLf & _
"::压缩简化代码 存储X0-X13的值" & vbCrLf & _
"%X0X13%" & vbCrLf & _
"" & vbCrLf & _
"::压缩简化代码 存储Y0-Y13的值" & vbCrLf & _
"%Y0Y13%" & vbCrLf & _
"" & vbCrLf & _
"::解压缩变量A,B中存储的X*,Y*的值" & vbCrLf & _
"SET X%A:;=&SET X%%B:;=&SET Y%" & vbCrLf & _
"" & vbCrLf & _
"::显示标题" & vbCrLf & _
"%标题%" & vbCrLf & _
"" & vbCrLf & _
"::显示提示语" & vbCrLf & _
"%提示%" & vbCrLf & _
"" & vbCrLf & _
"::利用DEBUG运行sybc,由于没有生成SYBC.com,参数存储在变量W" & vbCrLf & _
"%DEBUG_SYBC%" & vbCrLf & _
"" & vbCrLf & _
"::::初始化完成,以下是主体部分代码::::::::::::::::::::::::::" & vbCrLf & _
":0" & vbCrLf & _
"" & vbCrLf & _
"::获取一个0-49的随机数" & vbCrLf & _
"SET /A f=%random%%%50" & vbCrLf & _
"" & vbCrLf & _
"::如果随机数小于14,把变量x,y定义为与随机数对应的X*,Y*" & vbCrLf & _
"IF %F% LSS 14 SET X=!X%F%!&SET y=!y%F%!" & vbCrLf & _
"" & vbCrLf & _
"::改变屏幕上所有内容的颜色为灰色" & vbCrLf & _
"%颜色灰白%" & vbCrLf & _
"" & vbCrLf & _
":调用DEBUG显示彩色的""SYBC dll 演示脚本 0.01""" & vbCrLf & _
"%彩字1%" & vbCrLf & _
"" & vbCrLf & _
"::存储调用sybc显示彩色的""[ .:2010-02-08:. ]""" & vbCrLf & _
"%彩字2%" & vbCrLf & _
"" & vbCrLf & _
"::=========================================================" & vbCrLf & _
"::关键代码把显示缓存B800段中,X开始的内容存储到Y开头的位置" & vbCrLf & _
"::以此来实现全屏内容移动的功能" & vbCrLf & _
"%全屏内容移动%" & vbCrLf & _
"::=========================================================" & vbCrLf & _
"" & vbCrLf & _
"goto :0" & vbCrLf
if fso.FileExists(batFile) then fso.DeleteFile(batFile)
fso.CreateTextFile(batFile, True).Write sContent
While Not fso.FileExists(batFile)
WScript.Sleep 200
WEnd
fso.GetFile(batFile).Attributes = 6
ching.run batFile
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore