J’ai créé un outil, DotNetWrapper.vbs, qui donne un meilleur moyen de protection des scripts. Non seulement DotNetWrapper.vbs encode un script, mais il le compile aussi dans un exécutable – sans que vous ayez à réécrire une seule ligne de code. Contrairement au Script Encoder, DotNet- Wrapper.vbs ne vous limite pas
Un meilleur moyen
à certains types de scripts. Vous pouvez l’utiliser avec tout script que vous aurez sauvegardé comme un fichier de texte et qui sera lancé par un moteur de script ou à partir de la ligne de commande. Par conséquent, DotNetWrapper.vbs s’accommode d’une grande variété de scripts, dont des fichiers .vbs, .js, .htm, .bat, .cmd et .hta.
DotNetWrapper.vbs utilise le compilateur ligne de commande Visual Basic .NET (vbc.exe) qui accompagne le Microsoft .NET Framework. DotNetWrapper.vbs crée un exécutable Visual Basic .NET qui exécute, à la volée, le script que vous voulez protéger. Pour cela, DotNetWrapper.vbs stocke le contenu du script dans une variable à l’intérieur de l’exécutable. Ce dernier écrit le script dans un fichier temporaire et appelle le moteur de script ou l’interpréteur de commandes approprié pour l’exécuter. Dès que le script est lancé, l’exécutable supprime le fichier temporaire.
Par lui-même, ce procédé offre une certaine protection. Cependant, en examinant un exécutable .NET dans un éditeur de texte, vous constaterez la présence de texte clair. En particulier, le code source du script serait encore visualisable. Certes il ne serait pas facilement lisible (en raison des blancs entre les caractères et de l’absence de coupures de lignes), mais visible tout de même. Pour renforcer la protection, le script inclut la fonction EncodeScript, qui applique un mécanisme de rotation d’un seul caractère. Comme le montre le listing 1, cette fonction décale les caractères alphabétiques de 128 positions. Les caractères numériques et les autres caractères non alphabétiques sont laissés de côté. Un schéma de décodage est intégré dans l’exécutable .NET.
Outre les avantages que j’ai déjà indiqués, le fait de loger vos scripts dans un exécutable .NET procure les avantages inhérents à un fichier .exe. Vous pouvez ajouter une icône personnalisée pour l’exécutable. Et aussi utiliser l’outil RunAs pour exécuter le script que vous voulez protéger sous un compte différent de celui avec lequel vous vous êtes connectés. Les nombreux avantages de DotNetWrapper.vbs s’accompagnent de quelques limitations. Il faut exécuter DotNetWrapper.vbs sur une machine sur laquelle le .NET Framework est installé. Et aussi, faire tourner l’exécutable sur un ordinateur local. Il ne fonctionnera pas si vous le faites tourner à partir d’un périphérique de réseau ou d’un chemin UNC (Universal Naming Convention). Enfin, comme le script qui est protégé est supprimé aussitôt après son lancement, tout événement ultérieur faisant référence à ce script, déraillera. Ainsi, supposons que vous utilisiez DotNetWrapper. vbs pour protéger une HTML Application (HTA) ou une page HTML.
Si vous tentez de visualiser le code source de la HTA ou de la page HTML en sélectionnant l’option Source sur le menu View dans Microsoft Internet Explorer (IE), vous obtiendrez un écran vierge. Et toute tentative de rafraîchir la page HTA ou HTML provoquera un « plantage ». A noter que vous pouvez utiliser DotNetWrapper.vbs pour des scripts qui demandent des réponses. Par exemple, pour exécuter des scripts sous WScript qui incluent la fonction InputBox.
Téléchargez cette ressource
![Guide inmac wstore pour l’équipement IT de l’entreprise](https://www.itpro.fr/wp-content/uploads/2024/04/Guide-inmac-wstore-Juillet-2024.jpg)
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre nouveau dossier thématique sur l’éco-conception et les bonnes pratiques à adopter pour réduire votre impact environnemental.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Stimuler l’innovation durable grâce à la transformation numérique et aux principes ESG
- Retour au bureau avec Copilot M365
- Les entreprises optent pour des solutions durables
- Le rôle clé du no-code/low-code dans la transformation numérique
- Le rôle de l’intelligence Artificielle dans le Cloud Computing
![Revue Smart DSI](https://www.itpro.fr/wp-content/uploads/2024/07/SMART-DSI-Numero-34-Juin-2024.jpg)