任意のスクリプトを EXECUTE と CHR と記号で表現する
入力された文字列内にASCII外の文字がある場合は、EXECUTEの引数としてASCIIだけを使った形で指定文字列の内容と同じ文字列を返す式を組み立てて(ASCII外の文字はCHRWを使って表現)、それに対して先日の変換処理を行うことで、任意のスクリプトも EXECUTE と CHR と記号で表現することが可能です
コード例
EXECUTE CHR(((("&"&-(""="")&-("">""))+(""=""))&-("">""))+(""=""))&CHR(("&"&-(""="")&-("">""))*(-(""="")&-(""="")))&CHR(((("&"&-(""="")&-("">""))+(""=""))&-("">""))+(""="")) _ &CHR("&"&-(""="")&-("">"")&-(""="")-(""="")-(""=""))&CHR(("&"&-(""="")&-(""="")&-(""=""))--(-(""="")&-(""="")-(""="")))&CHR(("&"&-(""="")&-(""="")&-(""=""))--(-(""="")&-(""=""))) _ &CHR(((("&"&-(""="")&-("">""))+(""=""))&-("">""))+(""=""))&" """&CHR((("&"&-(""="")&-("">""))+(""=""))*(-(""="")&-(""="")))&CHR(+(-(""="")&(--("&"&-(""="")-(""="")&-("">""))))+(""="")) _ &CHR(-(""="")&-("">"")&-(""="")-(""="")-(""=""))&CHR("&"&-(""="")&-("">"")&-(""="")-(""=""))&CHR(-(""="")&-(""="")&-(""=""))&CHR(-(""="")&-(""="")-(""="")&-("">""))&" """"""&" _ &CHR("&"&-(""="")&-("">"")&-(""="")-(""="")-(""=""))&CHR("&"&-(""="")&-(""="")&-("">""))&CHR("&"&-(""="")&-(""="")-(""="")&-(""="")-(""=""))&CHR(("&"&-(""="")&-("">""))*(-(""="")&-(""=""))+(""=""))&"(" _ &"&"&(-(""="")-(""="")-(""=""))&(-("">""))&(-(""=""))&(-("">""))&(-(""="")-(""=""))&")&""""&"&CHR("&"&-(""="")&-("">"")&-(""="")-(""="")-(""=""))&CHR("&"&-(""="")&-(""="")&-("">"")) _ &CHR("&"&-(""="")&-(""="")-(""="")&-(""="")-(""=""))&CHR(("&"&-(""="")&-("">""))*(-(""="")&-(""=""))+(""=""))&"(&"&(-(""="")-(""="")-(""=""))&(-("">""))&(-(""=""))&(-("">"")) _ &(-(""="")-(""="")-(""="")-(""=""))&")&""""&"&CHR("&"&-(""="")&-("">"")&-(""="")-(""="")-(""=""))&CHR("&"&-(""="")&-(""="")&-("">""))&CHR("&"&-(""="")&-(""="")-(""="")&-(""="")-(""="")) _ &CHR(("&"&-(""="")&-("">""))*(-(""="")&-(""=""))+(""=""))&"(&"&(-(""="")-(""="")-(""=""))&(-("">""))&(-(""=""))&(-("">""))&(("&"&-(""="")&-("">""))+(""="")+(""=""))&")&""""&" _ &CHR("&"&-(""="")&-("">"")&-(""="")-(""="")-(""=""))&CHR("&"&-(""="")&-(""="")&-("">""))&CHR("&"&-(""="")&-(""="")-(""="")&-(""="")-(""=""))&CHR(("&"&-(""="")&-("">""))*(-(""="")&-(""=""))+(""=""))&"(" _ &"&"&(-(""="")-(""="")-(""=""))&(-("">""))&(-(""=""))&(-(""=""))&(-("">""))&")&""""&"&CHR("&"&-(""="")&-("">"")&-(""="")-(""="")-(""=""))&CHR("&"&-(""="")&-(""="")&-("">"")) _ &CHR("&"&-(""="")&-(""="")-(""="")&-(""="")-(""=""))&CHR(("&"&-(""="")&-("">""))*(-(""="")&-(""=""))+(""=""))&"(&"&(-(""="")-(""="")-(""=""))&(-("">""))&(-(""=""))&(-(""=""))&(-(""="")-(""=""))&")&" _ &""""""""""
これは
MsgBox "あいうえお"
を実行します。
変換プログラム
<script language=vbs> Public Function vbs2vbs(t) vbs2vbs="" Dim s():Redim s(127) s(0)="CHR(-("""">""""))" s(1)="CHR(-(""""=""""))" s(2)="CHR(-(""""="""")-(""""=""""))" s(3)="CHR(-(""""="""")-(""""="""")-(""""=""""))" s(4)="CHR(-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(5)="CHR(-(""""="""")-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(6)="CHR((""&""&-(""""="""")&-("""">""""))+(""""="""")+(""""=""""))" s(7)="CHR((""&""&-(""""="""")&-("""">""""))+(""""=""""))" s(8)="CHR(""&""&-(""""="""")&-("""">""""))" s(9)="CHR((-(""""="""")&-("""">""""))--(""""=""""))" s(10)="CHR(-(""""="""")&-("""">""""))" s(11)="CHR(-(""""="""")&-(""""=""""))" s(12)="CHR(-(""""="""")&-(""""="""")-(""""=""""))" s(13)="CHR(-(""""="""")&-(""""="""")-(""""="""")-(""""=""""))" s(14)="CHR(-(""""="""")&-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(15)="CHR((""&""&-(""""="""")-(""""="""")&-("""">""""))+(""""=""""))" s(16)="CHR(""&""&-(""""="""")-(""""="""")&-("""">""""))" s(17)="CHR(""&""&-(""""="""")-(""""="""")&-(""""=""""))" s(18)="CHR(-(""""="""")&--(""&""&-(""""="""")&-("""">"""")))" s(19)="CHR((-(""""="""")-(""""="""")&-("""">""""))+(""""=""""))" s(20)="CHR(-(""""="""")-(""""="""")&-("""">""""))" s(21)="CHR(-(""""="""")-(""""="""")&-(""""=""""))" s(22)="CHR(-(""""="""")-(""""="""")&-(""""="""")-(""""=""""))" s(23)="CHR(-(""""="""")-(""""="""")&-(""""="""")-(""""="""")-(""""=""""))" s(24)="CHR(""&""&-(""""="""")-(""""="""")-(""""="""")&-("""">""""))" s(25)="CHR(""&""&-(""""="""")-(""""="""")-(""""="""")&-(""""=""""))" s(26)="CHR(""&""&-(""""="""")-(""""="""")-(""""="""")&-(""""="""")-(""""=""""))" s(27)="CHR(""&""&-(""""="""")-(""""="""")-(""""="""")&-(""""="""")-(""""="""")-(""""=""""))" s(28)="CHR((-(""""="""")-(""""="""")-(""""="""")&-("""">""""))+(""""="""")+(""""=""""))" s(29)="CHR((-(""""="""")-(""""="""")-(""""="""")&-("""">""""))+(""""=""""))" s(30)="CHR(-(""""="""")-(""""="""")-(""""="""")&-("""">""""))" s(31)="CHR(-(""""="""")-(""""="""")-(""""="""")&-(""""=""""))" s(32)=""" """ s(33)="""!""" s(34)="""""""""" s(35)="""#""" s(36)="""$""" s(37)="""%""" s(38)="""&""" s(39)="""'""" s(40)="""(""" s(41)=""")""" s(42)="""*""" s(43)="""+""" s(44)=""",""" s(45)="""-""" s(46)=""".""" s(47)="""/""" s(48)="(-("""">""""))" s(49)="(-(""""=""""))" s(50)="(-(""""="""")-(""""=""""))" s(51)="(-(""""="""")-(""""="""")-(""""=""""))" s(52)="(-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(53)="(-(""""="""")-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(54)="((""&""&-(""""="""")&-("""">""""))+(""""="""")+(""""=""""))" s(55)="((""&""&-(""""="""")&-("""">""""))+(""""=""""))" s(56)="(--(""&""&-(""""="""")&-("""">"""")))" s(57)="((-(""""="""")&-("""">""""))+(""""=""""))" s(58)=""":""" s(59)=""";""" s(60)="""<""" s(61)="""=""" s(62)=""">""" s(63)="""?""" s(64)="""@""" s(65)="CHR(""&""&-(""""="""")&-("""">"""")&-(""""=""""))" s(66)="CHR(""&""&-(""""="""")&-("""">"""")&-(""""="""")-(""""=""""))" s(67)="CHR(""&""&-(""""="""")&-("""">"""")&-(""""="""")-(""""="""")-(""""=""""))" s(68)="CHR(""&""&-(""""="""")&-("""">"""")&-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(69)="CHR((((""&""&-(""""="""")&-("""">""""))+(""""=""""))&-("""">""""))+(""""=""""))" s(70)="CHR(((""&""&-(""""="""")&-("""">""""))+(""""=""""))&-("""">""""))" s(71)="CHR((""&""&-(""""="""")&-(""""="""")&-("""">""""))+(""""=""""))" s(72)="CHR(""&""&-(""""="""")&-(""""="""")&-("""">""""))" s(73)="CHR(""&""&-(""""="""")&-(""""="""")&-(""""=""""))" s(74)="CHR(""&""&-(""""="""")&-(""""="""")&-(""""="""")-(""""=""""))" s(75)="CHR(""&""&-(""""="""")&-(""""="""")&-(""""="""")-(""""="""")-(""""=""""))" s(76)="CHR(""&""&-(""""="""")&-(""""="""")&-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(77)="CHR(((""&""&-(""""="""")&-("""">""""))+(""""=""""))*(-(""""="""")&-(""""="""")))" s(78)="CHR((""&""&-(""""="""")&-(""""="""")-(""""="""")&-("""">""""))+(""""="""")+(""""=""""))" s(79)="CHR((""&""&-(""""="""")&-(""""="""")-(""""="""")&-("""">""""))+(""""=""""))" s(80)="CHR(""&""&-(""""="""")&-(""""="""")-(""""="""")&-("""">""""))" s(81)="CHR(""&""&-(""""="""")&-(""""="""")-(""""="""")&-(""""=""""))" s(82)="CHR(""&""&-(""""="""")&-(""""="""")-(""""="""")&-(""""="""")-(""""=""""))" s(83)="CHR((""&""&-(""""="""")&-(""""="""")&-(""""=""""))--(-(""""="""")&-("""">"""")))" s(84)="CHR((""&""&-(""""="""")&-(""""="""")&-(""""=""""))--(-(""""="""")&-(""""="""")))" s(85)="CHR((""&""&-(""""="""")&-(""""="""")&-(""""=""""))--(-(""""="""")&-(""""="""")-(""""="""")))" s(86)="CHR((""&""&-(""""="""")&-("""">""""))*(-(""""="""")&-(""""=""""))+(""""="""")+(""""=""""))" s(87)="CHR((""&""&-(""""="""")&-("""">""""))*(-(""""="""")&-(""""=""""))+(""""=""""))" s(88)="CHR((""&""&-(""""="""")&-("""">""""))*(-(""""="""")&-(""""="""")))" s(89)="CHR((""&""&-(""""="""")&-("""">""""))*(-(""""="""")&-(""""=""""))-(""""=""""))" s(90)="CHR((""&""&-(""""="""")&-(""""=""""))*(-(""""="""")&-("""">"""")))" s(91)="""[""" s(92)="""\""" s(93)="""]""" s(94)="""^""" s(95)="""_""" s(96)="""`""" s(97)="CHR((-(""""="""")&-("""">"""")&-("""">""""))+(""""="""")+(""""="""")+(""""=""""))" s(98)="CHR((-(""""="""")&-("""">"""")&-("""">""""))+(""""="""")+(""""=""""))" s(99)="CHR((""&""&-(""""="""")&-(""""=""""))*(-(""""="""")&-(""""="""")))" s(100)="CHR(-(""""="""")&-("""">"""")&-("""">""""))" s(101)="CHR(-(""""="""")&-("""">"""")&-(""""=""""))" s(102)="CHR(-(""""="""")&-("""">"""")&-(""""="""")-(""""=""""))" s(103)="CHR(-(""""="""")&-("""">"""")&-(""""="""")-(""""="""")-(""""=""""))" s(104)="CHR(-(""""="""")&-("""">"""")&-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(105)="CHR(-(""""="""")&-("""">"""")&-(""""="""")-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(106)="CHR((-(""""="""")&-(""""="""")&-("""">""""))+(""""="""")+(""""="""")+(""""="""")+(""""=""""))" s(107)="CHR((-(""""="""")&-(""""="""")&-("""">""""))+(""""="""")+(""""="""")+(""""=""""))" s(108)="CHR((-(""""="""")&-(""""="""")&-("""">""""))+(""""="""")+(""""=""""))" s(109)="CHR((-(""""="""")&-(""""="""")&-("""">""""))+(""""=""""))" s(110)="CHR(-(""""="""")&-(""""="""")&-("""">""""))" s(111)="CHR(-(""""="""")&-(""""="""")&-(""""=""""))" s(112)="CHR(-(""""="""")&-(""""="""")&-(""""="""")-(""""=""""))" s(113)="CHR(-(""""="""")&-(""""="""")&-(""""="""")-(""""="""")-(""""=""""))" s(114)="CHR(-(""""="""")&-(""""="""")&-(""""="""")-(""""="""")-(""""="""")-(""""=""""))" s(115)="CHR(+(-(""""="""")&(--(""&""&-(""""="""")-(""""="""")&-("""">""""))))+(""""=""""))" s(116)="CHR(-(""""="""")&(--(""&""&-(""""="""")-(""""="""")&-("""">""""))))" s(117)="CHR(-(""""="""")&(--(""&""&-(""""="""")-(""""="""")&-(""""=""""))))" s(118)="CHR(+(-(""""="""")&(--(""&""&-(""""="""")-(""""="""")&-(""""=""""))))-(""""=""""))" s(119)="CHR(+(-(""""="""")&-(""""="""")-(""""="""")&-("""">""""))+(""""=""""))" s(120)="CHR(-(""""="""")&-(""""="""")-(""""="""")&-("""">""""))" s(121)="CHR(-(""""="""")&-(""""="""")-(""""="""")&-(""""=""""))" s(122)="CHR(-(""""="""")&-(""""="""")-(""""="""")&-(""""="""")-(""""=""""))" s(123)="""{""" s(124)="""|""" s(125)="""}""" s(126)="""~""" s(127)="CHR((""&""&-(""""="""")-(""""="""")&-("""">"""")&-("""">""""))+(""""=""""))" Dim a,b,c,d,i,L,r,w r=t:L=Len(r):w="":a="":d=0 For i=1 to Len(r) If Ascw(Mid(r,i))>=128 Then d=1:Exit For End If Next If d=1 Then w="EXECUTE """ For i=1 to Len(r) c=AscW(Mid(r,i,1)) If c>127 Then w=w&"""&CHRW(&"& OCT(c)&")&""" Else Select Case c Case 0,10,13 w=w&"""&CHR("&c&")&""" Case 34 w=w&"""""" Case Else w=w&Chr(c) End Select End If Next w=w&"""":r=w Else r=t End If L=Len(r):w="":i=1:d=0 While(i<=L) If Left(r,4)="True"Then a="(""""="""")":b=4 ElseIf Left(r,5)="False"Then a="("""">"""")":b=5 Else a=s(Asc(r)):b=1 End If if d+Len(a)>200 then w=w&" _"&vbCrLf:d=0 if Right(w,1)&Left(a,1)&Right(a,1)=""""""""Then w = Left(w,len(w)-1)&Mid(a,2):d=d+Len(a)-2 ElseIf i=1 Then w="EXECUTE "&a:d=Len(w) Else w=w&"&"&a:d=d+Len(a)+1 End If i=i+b:r=Mid(r,b+1) Wend vbs2vbs=w End Function </script> <form> <textarea id=a cols=120 rows=10>MsgBox "あいうえお"</textarea> <input type=button language=vbs value=convert onclick='document.getElementById("b").value=vbs2vbs(document.getElementById("a").value)'> <br> <textarea id=b cols=120 rows=10></textarea> <input type=button language=vbs value=Go onclick='execute document.getElementById("b").value'> </form>