Ce script encode tout fichier vbs,js,asp,html,...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 627 fois - Téléchargée 19 fois

Contenu du snippet

Ce script en ligne de commande encode tout fichier vbs,js,asp,html,...
à l'identique de l'encodeur "screnc.exe" de Microsoft :
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/webdev.asp

Source / Exemple :


</description>
<unnamed
	name = "srce"
	helpstring = "Nom de fichier source à encoder"
	type = "string" 
	required = "true" />
<unnamed 
	name = "dest" 
	helpstring = "Nom de fichier destination encodé"
	type = "string" 
	required = "true" />
<unnamed 
	name = "A"
	helpstring = "Affichage du fichier encodé dans le bloc-notes"
	type = "string" 
	required = "false" />
<example>
Chaque nom de fichier doit être encadré par des guillemets
s'il contient des espaces.

Exemples : 
----------
 screncode.wsf "m:\mes scripts\monscript.vbs" h:\wsh\monscript.vbe 
 screncode.wsf "k:\mon site\identdec.asp" D:\Inetpub\wwwroot\ident.asp 
---------------------------------------------------------------------
</example>
</runtime>
<script language="VBScript">
Const SW_SHOWNORMAL=1 
Const ForReading=1
Const ForWriting=2

Set fso     = WScript.CreateObject("Scripting.FileSystemObject")
Set shell   = WScript.CreateObject("WScript.Shell")
Set UnNamed = WScript.Arguments.UnNamed

nu=UnNamed.count
If nu<2 Then
	WScript.Arguments.ShowUsage
	WScript.Quit
	End If
Srce=UnNamed(0)
Dest=UnNamed(1)
Display=false
If nu>=3 then if lcase(UnNamed(2))="a" Then Display=true

If not fso.FileExists(Srce)  Then
	MsgBox "Le fichier " & Srce & " n'a pas été trouvé", vbCritical + vbOKOnly, "Encodage de fichier"
	WScript.Quit
	End If
If fso.FileExists(Dest)  Then
	rep=MsgBox("Le fichier destination " & Dest & " existe déjà." & VBCRLF & _
	"Faut-il l'écraser ?", vbQuestion+vbYesNo, "Encodage de fichier")
	If rep<>vbYes Then WScript.Quit
	End If
Set fs=fso.GetFile(Srce)  
pe=InstrRev(fs.Name,".")
If pe>0 then ext=lcase(mid(fs.Name,pe)) else ext=".vbs"
If ext=".wsf" Then ext=".html"

Set fs = fso.OpenTextFile(Srce,ForReading,false)
data=fs.readAll
fs.close
Set se=WScript.CreateObject("Scripting.Encoder")
dataenc=se.EncodeScriptFile(ext,data, 0, "")

Set fd = fso.CreateTextFile(Dest, true,false)
fd.Write dataenc
fd.close
If Display Then
	cmd="notepad.exe """ & Dest & """"
	shell.run cmd,SW_SHOWNORMAL,false
	End If
WScript.Quit
'--------------------------------------------------------------------
</script>
</job>

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8
hahaha... "JC BELLAMY" il est depuis longue date dans mes favoris... Une mine... Mais doit-on comprendre que "djebbipgm" a fait un simple copié/pompé ?

Amicalement,
Us.
Messages postés
94
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2013

Voila le code Complet avec son Copyright à Mr "JC BELLAMY" alias JCB et que je le note 10/10
Site Web : http://www.bellamyjc.org/
le fichier doit-être enregistré sous screncode.wsf
Le Code Source Complet est le suivant:
<job>
<runtime>
<description author="jcb">
---------------------------------------------------------------------
Ce script en ligne de commande encode tout fichier vbs,js,asp,html,...
à l'identique de l'encodeur "screnc.exe" de Microsoft :
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/webdev.asp

JCB © 2004
---------------------------------------------------------------------
</description>

<example>
Chaque nom de fichier doit être encadré par des guillemets
s'il contient des espaces.

Exemples :
----------
screncode.wsf "m:\mes scripts\monscript.vbs" h:\wsh\monscript.vbe
screncode.wsf "k:\mon site\identdec.asp" D:\Inetpub\wwwroot\ident.asp
---------------------------------------------------------------------
</example>
</runtime>
<script language="VBScript">
Const SW_SHOWNORMAL=1
Const ForReading=1
Const ForWriting=2

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set shell = WScript.CreateObject("WScript.Shell")
Set UnNamed = WScript.Arguments.UnNamed

nu=UnNamed.count
If nu<2 Then
WScript.Arguments.ShowUsage
WScript.Quit
End If
Srce=UnNamed(0)
Dest=UnNamed(1)
Display=false
If nu>=3 then if lcase(UnNamed(2))="a" Then Display=true

If not fso.FileExists(Srce) Then
MsgBox "Le fichier " & Srce & " n'a pas été trouvé", vbCritical + vbOKOnly, "Encodage de fichier"
WScript.Quit
End If
If fso.FileExists(Dest) Then
rep=MsgBox("Le fichier destination " & Dest & " existe déjà." & VBCRLF & _
"Faut-il l'écraser ?", vbQuestion+vbYesNo, "Encodage de fichier")
If rep<>vbYes Then WScript.Quit
End If
Set fs=fso.GetFile(Srce)
pe=InstrRev(fs.Name,".")
If pe>0 then ext=lcase(mid(fs.Name,pe)) else ext=".vbs"
If ext=".wsf" Then ext=".html"

Set fs = fso.OpenTextFile(Srce,ForReading,false)
data=fs.readAll
fs.close
Set se=WScript.CreateObject("Scripting.Encoder")
dataenc=se.EncodeScriptFile(ext,data, 0, "")

Set fd = fso.CreateTextFile(Dest, true,false)
fd.Write dataenc
fd.close
If Display Then
cmd="notepad.exe """ & Dest & """"
shell.run cmd,SW_SHOWNORMAL,false
End If
WScript.Quit
'--------------------------------------------------------------------
</script>
</job>
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8
Bonjour,

l'adresse : http://msdn.microsoft.com/library/default.asp?ur l=/downloads/list/webdev.asp ne fonctionne plus...

Amicalement,
Us.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
Niveau expert, je sais pas, m'enfin.
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015

Salut,
Il semblerai qu'il manque une partie de la description.
Je ne connaissais pas ce formalisme de fichier avant qui me paraît très très interressante.
Précise bien que le fichier doit porter l'extension .wsf même si le code permet de le savoir.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.