Ecrire un mot de passe en batch

Utilisateur anonyme -  
gautier019 Messages postés 154 Statut Membre -
bonjour jean-paul,moi c'est christian kalla je vie qu cameroun le pays des lions indomptables.si jevous écris aujourd'hui, c'est tout d'abord pour vous féliciter et vous remercier des qstuces que vous nous faitez profiter dans windows news.je suis etudiant en 1er année informatique industriel et j'aimerai avoir la prossedure à suivre pour : ecrire un programme batch qui me permettra d'entrer un mot de passe.

je vous remercie d'avance et je souhaite que suite sera donnée à ma demande s'il vous plait est possible de l'avoir pour se soir?
Configuration: win xp pro

10 réponses

  1. Damien P Messages postés 19 Statut Membre 48
     
    Salut, je sait que cette question date d'un petit moment mais vu qu'il n'y a pas eu de reponse conctraites...En plus je pense que ça, fera ton bonheur.

    @echo off
    color 02
    title Mot de passe
    :DEBUT
    set dire=
    set etoile=
    set mot=salut
    :PARLE
    cls
    echo Tapez le mot de passe
    echo Ou + pour tout effacer
    echo Et - pour anuler
    if "%etoile%"=="" goto PARLE2
    echo %etoile%
    :PARLE2
    if not "%dire%"=="%mot%" goto CHOICE
    echo Correct
    ping 127.0.0.1 -n 2 > NUL
    start c:\
    exit
    :CHOICE
    CHOICE /C:abcdefghijklmnopqrstuvwxyz+->nul
    If "%ERRORLEVEL%"=="28" exit
    If "%ERRORLEVEL%"=="27" goto DEBUT
    If "%ERRORLEVEL%"=="26" set dire=%dire%z
    If "%ERRORLEVEL%"=="25" set dire=%dire%y
    If "%ERRORLEVEL%"=="24" set dire=%dire%x
    If "%ERRORLEVEL%"=="23" set dire=%dire%w
    If "%ERRORLEVEL%"=="22" set dire=%dire%v
    If "%ERRORLEVEL%"=="21" set dire=%dire%u
    If "%ERRORLEVEL%"=="20" set dire=%dire%t
    If "%ERRORLEVEL%"=="19" set dire=%dire%s
    If "%ERRORLEVEL%"=="18" set dire=%dire%r
    If "%ERRORLEVEL%"=="17" set dire=%dire%q
    If "%ERRORLEVEL%"=="16" set dire=%dire%p
    If "%ERRORLEVEL%"=="15" set dire=%dire%o
    If "%ERRORLEVEL%"=="14" set dire=%dire%n
    If "%ERRORLEVEL%"=="13" set dire=%dire%m
    If "%ERRORLEVEL%"=="12" set dire=%dire%l
    If "%ERRORLEVEL%"=="11" set dire=%dire%k
    If "%ERRORLEVEL%"=="10" set dire=%dire%j
    If "%ERRORLEVEL%"=="9" set dire=%dire%i
    If "%ERRORLEVEL%"=="8" set dire=%dire%h
    If "%ERRORLEVEL%"=="7" set dire=%dire%g
    If "%ERRORLEVEL%"=="6" set dire=%dire%f
    If "%ERRORLEVEL%"=="5" set dire=%dire%e
    If "%ERRORLEVEL%"=="4" set dire=%dire%d
    If "%ERRORLEVEL%"=="3" set dire=%dire%c
    If "%ERRORLEVEL%"=="2" set dire=%dire%b
    If "%ERRORLEVEL%"=="1" set dire=%dire%a
    set etoile=%etoile%*
    goto PARLE

    Voila, le mot de passe est "salut" et aprés écriture de ce mots de passe, le disque local "C" s'ouvre.
    Si ce message a put aider quelqu'un, qu'il le fasse savoir svp , ca fait toujours plaisir d'aider.
    Ciao Bon courage
    8
    1. dean76
       
      Super merci pour ton travail !
      0
    2. romain
       
      salut, j ai essayé ton batch "mot de passe" mai je n arrive pas a m enservir
      quand je tape salut il se passe rien
      0
  2. Kaming
     
    Encore plus simple:
    echo off
    color a
    cls
    :PASS
    cls
    echo Veuillez entrer votre mot de passe
    set/p code=ici SVP:
    if %code%== motdepasse goto OK
    cls
    echo Mauvais code!
    pause >nul
    goto PASS
    :OK
    cls
    echo Bon code !
    echo.
    ping localhost -n 2 >nul
    cls
    echo Ici, vous pouvez creer votre menu.
    echo.
    echo Bonne continuation !!!
    echo.
    echo.
    echo.
    echo by Kaming
    pause >nul
    goto end
    :end
    cls
    echo Bye bye!
    ping localhost -n 2 >nul
    cls
    exit

    Voila !!!
    Pourquoi se compliquer la vie, hein?
    En esperant avoir repondu a votre demande, a bientot !
    5
  3. cs-bilou Messages postés 836 Statut Membre 164
     
    Tien voilà moi j'avais fait un truc qui utilise le C et le Batch, voilà comment il fonctionne:

    Alors voilà j'ai fait un petit truc pour cacher les mot de passe (ou autres) par des étoile.
    Pour qu'il fonctionne vous devez tapez :
    Key
    La touche détecter et était mit dans la variable %ErrorLevel%.
    Je m'explique, après avoir lancer mon utilitaire la variable %ErrorLevel% sera remplacer par la touche détecter.
    Mais l'un des seul problème c'est que la variable %ErrorLevel% n'est pas égal au symbole mais au code ASCII.

    Il y a 255 code ASCII, un code ASCII est égal a un symbole.
    Il n'y a pas tout les symbole juste les 255 les plus utilisés.
    Vous pouvez voir la liste ici

    Char.ini:
    Mais au lieu de faire un truc du genre
    if %ErrorLevel% == 49 set touche=1

    Je mit toute les touche que je voulait dans un fichier char.ini

    48.0
    49.1
    50.2
    51.3
    52.4
    53.5
    54.6
    55.7
    56.8
    57.9
    65.A
    66.B
    67.C
    68.D
    69.E
    70.F
    71.G
    72.H
    73.I
    74.J
    75.K
    76.L
    77.M
    78.N
    79.O
    80.P
    81.Q
    82.R
    83.S
    84.T
    85.U
    86.V
    87.W
    88.X
    89.Y
    90.Z
    97.a
    98.b
    99.c
    100.d
    101.e
    102.f
    103.g
    104.h
    105.i
    106.j
    107.k
    108.l
    109.m
    110.n
    111.o
    112.p
    113.q
    114.r
    115.s
    116.t
    117.u
    118.v
    119.w
    120.x
    121.y
    122.z
    
    A gauche le code ASCII, a droite le symbole correspondant au code ASCII


    Ou disponible ici
    ==>Si vous voulez vous pouvez rajouter des caractère, vous mettez le code ASCII un point et le symbole auquel il correspond.

    Key:
    Ensuite il faut le fichier key.exe
    Qui permet de détecter la touche taper sans valider par entré.
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
      return getch();
    }


    Ou disponible ici

    Bat:
    @echo off
    setlocal enableDelayedExpansion
    set pass=
    set NbrCaracteres=0
    :pass
    set passEtoiles=
    cls
    echo Entré votre passe et terminer par entre:
    if %NbrCaracteres% NEQ 0 (
    for /l %%i in (1,1,!NbrCaracteres!) do set passEtoiles=!passEtoiles!*
    echo !passEtoiles!)
    
    key
    if %errorlevel%==8 if %NbrCaracteres% NEQ 0 set /a NbrCaracteres-=1& call set pass=%%pass:~0,%nbr%%%
    for /F "tokens=1,2 delims=." %%i in ('type char.ini') do if %errorlevel%==%%i set pass=%pass%%%j& set /a NbrCaracteres+=1
    if %errorlevel%==13 goto fin
    goto pass
    
    :fin
    echo Votre mdp est %pass%
    pause

    Ou disponible ici.

    Lien:
    Char.ini
    Key.exe
    Pass.bat

    By Bilou.
    4
    1. koalatic Messages postés 384 Statut Membre 21
       
      Je sais que c'est un peu loin tout cela mais estce que tu pourrais arranger ton code pour qu'il puisse reconnaitre un mot de passe et non en creer un?
      0
  4. maxoux
     
    voici un code plus fonctionnel, je me suis permis de le modifier et le commenter pour qu'il soit compatible w7 et vista .

    @echo off    
    color 02    
    title password    
    :debut    
    // initialisation des variable + selection du pass a entrer    
    // 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    
    // 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    
    // si debug est a 0, on ne l'affiche pas    
    if %debug% == 0 goto nobug    
    echo.    
    echo //debug mode//    
    echo affichage : "%affichage%"    
    echo choix : "%choix%"    
    echo pass : "%pass%"    
    :nobug    
    // affiche le nombre d'etoile correspondant, on ne peux pas savoir (ou difficielement)    
    // le nombre de caracteres entré pour la simple raison qu'a chaque appui de touche, on rajoute    
    // une etoile a notre variable %affichage%    
    echo.    
    echo. %affichage%    
    // par rapport a l'autre version, j'ai prefere faire une verification pour renvoyer a la fin     
    // du code source si le pass est bon, c'est bien plus clair de cette facon que rentrer notre    
    // code "protégé" en plein milieu de notre code de "protection"    
    if "%choix%" == "%pass%" goto ok    
    :choix    
    // j'ai remarqué un bug sur seven (pour les autres version je ne sais pas), la commande CHOICE    
    // ne reconnaissant pas le +, fesais bugger tout le programme, je l'ai donc remplacé par 0     
    CHOICE /C:abcdefghijklmnopqrstuvwxyz0>nul    
    // 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    
    // rajoute une etoile a chaques itinerance    
    set affichage=%affichage%*     
    goto set    
    :ok    
    echo.    
    color 20    
    echo acces granted    
    // a partir de la on peut rentrer notre menu principal apres verification de l'utilisateur    
    pause    
    
    3
    1. maxoux
       
      je me suis trompé dans les commentaires, sur le bloc-note, faites ctrl+H et remplacez "//" par "rem" puis remplacer tout. vous n'aurez ainsi pas a enlever toutes les lignes de commentaires ;)
      0
    2. tche92
       
      Bonjour
      Ton code semble bien mais quand je rentre " test " il ne se passe rien, je ne peut pas appuyer sur entrer pour valider

      PS : je suis sous Vista
      0
    3. maxoux
       
      effectivement ya un probleme, des espaces sont rajouté a cause du forum
      j'envoi le fichier sur un hebergeur et je revient
      0
    4. maxoux
       
      http://uptobox.com/m3wrwh99pmst
      0
    5. tche92
       
      Ça marche !!!

      Merci beaucoup, ça fait longtemps que je suis sur le sujet sans trouver de réponse...
      Bravo
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. SyberDark
     
    moi sa m'aide!!! il étais temps XD j'ai 14 ans je me perfectionne en tout se qui a raport a l'ordinateur donc merci beaucoup de ton aide!!!! j'essaie de jouer un tour a mes ami sa va être très drole!!!
    1
  7. Utilisateur anonyme
     
    merci damien P
    aujourd'hui je solicite encore ton aide mais j'aimerai que nous souyons connecte en permanence car maintenant je passede une connection internet et j'aimerai que tu m'aides a resoudre dess problemes en turbo pascal .

    merci d'avance
    0
  8. Zemax95 Messages postés 17 Statut Membre 1
     
    Tres bien fait sauf que si quelqu'un s'y connait en batch, il connaitra assez facilement ton mot de passe] donc essaie le programme Bat_To_Exe Converter. @++
    0