Technical Anshu
Tutorials Blog
Vérité honnête

BAT to EXE ne cache pas à votre script la vérité sur les fichiers batch extraits

Le titre dit cachez votre script - et cacher est tout ce que c'est. Voici l'expérience simple qui prouve qu'un EXE converti remet le texte complet de votre script à quiconque souhaite le consulter.

By Technical AnshuWindows 10 / 117 minute read
Regardez la vidéo complète - le processus complet de conversion BAT en EXE présenté en direct, étape par étape

Chaque convertisseur annonce qu'il masquera et protégera votre script. Cette page existe pour tracer la ligne exacte entre le marketing et la mécanique. Un EXE converti cache votre script - du bureau, des utilisateurs satisfaits du Bloc-notes, d'une copie occasionnelle. Mais la façon dont ces wrappers fonctionnent signifie que le script doit exister sous forme de texte lisible sur le disque pendant son exécution, et cela change ce que vous pouvez y mettre en toute sécurité.

What happens inside %TEMP% while a converted EXE runs (example)
CleanupTool.exe startswrapper wakes up
Script extracteda .bat copy appears in %TEMP%READABLE
cmd.exe runs itplain text commands execute
EXE closestemp copy deleted on exit
Between step two and step four, your entire script sits on disk as readable text
L'extraction n'est pas une théorie : exécutez un EXE converti, ouvrez le dossier temporaire et regardez le script apparaître pendant son exécution.
1

L'expérience d'extraction que tout le monde peut répéter

  1. Convertissez n'importe quel script inoffensif, par exemple celui qui affiche un message et fait une pause : echo Hello & pause
  2. Ouvrez le dossier %TEMP% dans l'Explorateur
  3. Exécutez l'EXE converti et surveillez le dossier temporaire : un fichier batch avec un nom aléatoire apparaît pendant l'exécution du programme.
  4. Copiez-le avant la fermeture de l'EXE, ouvrez-le dans le Bloc-notes - votre script complet, en texte clair et lisible

Certains convertisseurs proposent une option Ne pas supprimer qui laisse le fichier extrait de manière permanente, et les outils de processus peuvent également capturer le script à partir de la ligne de commande en cours d'exécution. Le titre de la vidéo dit « cachez votre script », et cacher est exactement le bon mot : caché du menu Démarrer et d'un simple double-clic, visible par quiconque regarde intentionnellement.

2

De quoi se cacher vous protège réellement

Soyez juste envers la technique – elle résout de vrais problèmes. Les utilisateurs ne peuvent pas modifier accidentellement une ligne et casser l'outil. Des collègues curieux ne peuvent pas copier votre travail avec désinvolture et le faire passer à la hâte. Le script ne peut pas être modifié de manière fortuite pour faire autre chose tout en y conservant votre nom. Pour un technicien remettant des outils au personnel de bureau, cette protection de niveau occasionnel suffit souvent.

Ce contre quoi il ne protège pas : un concurrent qui veut votre logique, un auditeur qui veut savoir ce que fait l'outil ou un attaquant qui veut le mot de passe du serveur que vous avez saisi dans le script. Pour les trois, l’emballage est du papier de soie.

3

L'option de cryptage change moins que vous ne le pensez

Bat To Exe Converter propose Crypter le programme, qui protège par mot de passe le fichier EXE. Lisez les petits caractères de ce que cela signifie : le mot de passe est demandé au démarrage du programme. Au moment où un utilisateur légitime y entre et que l'outil s'exécute, le script est extrait et exécuté sous une forme lisible. La porte empêche l'entrée des personnes qui ne connaissent pas le mot de passe - elle ne rend pas le contenu du script secret pour les personnes qui le connaissent. Un mot de passe de lancement partagé saisi dans des scripts au sein d’une entreprise est l’un des pires endroits où un secret puisse vivre.

4

Des règles qui assurent votre sécurité

  1. N'intégrez jamais de vrais mots de passe, clés API, clés Wi-Fi ou secrets de licence dans un script batch - convertis ou non
  2. Supposons que chaque ligne d'un script distribué soit lue par quelqu'un un jour - n'écrivez rien que vous seriez gêné ou blessé de voir publié
  3. Si une tâche a réellement besoin d'un secret, conservez-le en dehors du script - Credential Manager, configuration de l'environnement ou invite au moment de l'exécution, abordés dans la page des secrets de cette série.
  4. Si la logique elle-même est votre gagne-pain, le langage batch n'est pas le bon - déplacez la partie sensible dans un programme compilé ou un service côté serveur

Regardez le processus complet dans la vidéo

Regardez la vidéo pour découvrir le processus de conversion lui-même, puis appliquez les règles de cette page avant de convertir un script touchant un mot de passe ou un serveur réel.

Watch Full Video
Foire aux questions

Quelqu'un peut-il vraiment récupérer mon script à partir du fichier EXE converti

Oui. Pendant l'exécution de l'EXE, le fichier batch est extrait dans le dossier temporaire en texte brut, où il peut être copié et lu. Il existe également des outils d'extraction dédiés. Traitez tout ce qui se trouve dans un script converti comme publié et non protégé.

L'option de cryptage du mot de passe sécurise-t-elle le script ?

Il ne demande un mot de passe qu'au lancement du programme. Une fois le mot de passe saisi et l'outil exécuté, le script est extrait sous une forme lisible comme d'habitude. Il s'agit d'une porte d'accès pour le lancement et non d'une protection pour le contenu.

Alors pourquoi se convertir

Pour la présentation et la prévention des accidents : un fichier propre avec votre icône et les détails de la version, aucun fichier texte parasite que les utilisateurs peuvent modifier ou casser, et une invite d'administration appropriée en cas de besoin. Ce sont de réels avantages, mais pas des avantages en matière de sécurité.

Ce guide est basé sur la vidéo technique Anshu liée ci-dessus – Coincé sur une marche ? Demandez dans les commentaires vidéo - vous obtiendrez une réponse