Cacher un mots de passe

Jacodel98 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
ghFrankfurt Messages postés 227 Statut Membre -
Bonjour,

j'ai fais un fichier batch protégé par un mots de passe mais celui-ci s'affiche à l'écran pourriez-vous me dire de quelle facon est-ce que je pourrais régler mon problème.

Voici mon Script:

cls
@ECHO OFF
title Folder coffre
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST coffre goto MDLOCKER
:CONFIRM
echo Etes vous sure de vouloir bloquer les fichiers Oui ou Non
set/p "cho=>"
if %cho%==oui goto LOCK
if %cho%==Oui goto LOCK
if %cho%==OUI goto LOCK
if %cho%==NON goto END
if %cho%==non goto END
if %cho%==Non goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren coffre "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Entrer votre mots de passe pour debloquer les dossiers
set/p "pass=>"
if NOT %pass%== Je met un mots de passe ici goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" coffre
echo Bien Bloquer GG
goto End
:FAIL
echo Mots de passe incorecte
goto end
:MDLOCKER
md coffre
echo coffre created successfully
goto End
:End

Merci d'avance pour votre aide.

2 réponses

  1. nicelife90 Messages postés 676 Statut Membre 151
     
    Ce script est vieux comme le monde malheureusement, il n'y a pas de façons de cacher un mot de passe dans batch.
    0
    1. nicelife90 Messages postés 676 Statut Membre 151
       
      Tu peux faire la même chose avec le même dossier en C# ou vb.net et tu va avoir un résultat 100 fois meilleur.
      0
    2. Jacodel98 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
       
      HA merci quand-meme de ta reponse je vais essayer de le faire avec se que tu me conseille
      0
  2. ghFrankfurt Messages postés 227 Statut Membre 23
     
    J'ai retrouvé ça dans mes fichiers, peut être que tu peux le modifier pour obtenir ce que tu as besoin.

    (Je ne suis pas l'auteur et je ne sais pas qui sait!)

    @echo off
    color 02
    title password
    :debut
    rem initialisation des variable + selection du pass a entrer
    rem je me suis permis de changer le nom des variables car je ne les trouvais apas clair du tout
    set affichage=
    set choix=
    set pass=test
    rem pour ceux qui sont curieux, permet d'afficher les valeurs des differentes variables
    set /a debug = 1
    :set
    cls
    echo veuillez entrer le mot de passe
    echo tapez 0 pour effacer
    rem si debug est a 0, on ne l'affiche pas
    if %debug% == 0 goto nobug
    echo.
    echo remdebug moderem
    echo affichage : "%affichage%"
    echo choix : "%choix%"
    echo pass : "%pass%"
    :nobug
    rem affiche le nombre d'etoile correspondant, on ne peux pas savoir (ou difficielement)
    rem le nombre de caracteres entré pour la simple raison qu'a chaque appui de touche, on rajoute
    rem une etoile a notre variable %affichage%
    echo.
    echo. %affichage%
    rem par rapport a l'autre version, j'ai prefere faire une verification pour renvoyer a la fin
    rem du code source si le pass est bon, c'est bien plus clair de cette facon que rentrer notre
    rem code "protégé" en plein milieu de notre code de "protection"
    if "%choix%" == "%pass%" goto ok
    :choix
    rem j'ai remarqué un bug sur seven (pour les autres version je ne sais pas), la commande CHOICE
    rem ne reconnaissant pas le +, fesais bugger tout le programme, je l'ai donc remplacé par 0
    CHOICE /C:abcdefghijklmnopqrstuvwxyz0>nul
    rem lorsque l'on rentre 0, on efface tout et on recommence
    If "%ERRORLEVEL%"=="27" (set choix=
       set affichage=
       goto set
       )
    If "%ERRORLEVEL%"=="26" set choix=%choix%z
    If "%ERRORLEVEL%"=="25" set choix=%choix%y
    If "%ERRORLEVEL%"=="24" set choix=%choix%x
    If "%ERRORLEVEL%"=="23" set choix=%choix%w
    If "%ERRORLEVEL%"=="22" set choix=%choix%v
    If "%ERRORLEVEL%"=="21" set choix=%choix%u
    If "%ERRORLEVEL%"=="20" set choix=%choix%t
    If "%ERRORLEVEL%"=="19" set choix=%choix%s
    If "%ERRORLEVEL%"=="18" set choix=%choix%r
    If "%ERRORLEVEL%"=="17" set choix=%choix%q
    If "%ERRORLEVEL%"=="16" set choix=%choix%p
    If "%ERRORLEVEL%"=="15" set choix=%choix%o
    If "%ERRORLEVEL%"=="14" set choix=%choix%n
    If "%ERRORLEVEL%"=="13" set choix=%choix%m
    If "%ERRORLEVEL%"=="12" set choix=%choix%l
    If "%ERRORLEVEL%"=="11" set choix=%choix%k
    If "%ERRORLEVEL%"=="10" set choix=%choix%j
    If "%ERRORLEVEL%"=="9" set choix=%choix%i
    If "%ERRORLEVEL%"=="8" set choix=%choix%h
    If "%ERRORLEVEL%"=="7" set choix=%choix%g
    If "%ERRORLEVEL%"=="6" set choix=%choix%f
    If "%ERRORLEVEL%"=="5" set choix=%choix%e
    If "%ERRORLEVEL%"=="4" set choix=%choix%d
    If "%ERRORLEVEL%"=="3" set choix=%choix%c
    If "%ERRORLEVEL%"=="2" set choix=%choix%b
    If "%ERRORLEVEL%"=="1" set choix=%choix%a
    rem rajoute une etoile a chaques itinerance
    set affichage=%affichage%*
    goto set
    :ok
    echo.
    color 20
    echo acces granted
    rem a partir de la on peut rentrer notre menu principal apres verification de l'utilisateur
    pause
    0
    1. nicelife90 Messages postés 676 Statut Membre 151
       
      Ce script est légèrement différent cependant il sera confronter au même problème car encore une fois c'est un batch file et que le mot de passe est en clear text.
      0
    2. ghFrankfurt Messages postés 227 Statut Membre 23
       
      Après tu peux trouver des programmes qui te transforment les batchs en exe
      0