Ecrire un mot de passe en batch [Fermé]

Signaler
-
gautier019
Messages postés
140
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
12 juin 2017
-
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?

10 réponses

Messages postés
19
Date d'inscription
lundi 19 juin 2006
Statut
Membre
Dernière intervention
6 mai 2007
46
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
6
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 83239 internautes nous ont dit merci ce mois-ci

Super merci pour ton travail !
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
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 !
Messages postés
771
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
153
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.
koalatic
Messages postés
328
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
11 août 2015
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?
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    
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
effectivement ya un probleme, des espaces sont rajouté a cause du forum
j'envoi le fichier sur un hebergeur et je revient
http://uptobox.com/m3wrwh99pmst
Ça marche !!!

Merci beaucoup, ça fait longtemps que je suis sur le sujet sans trouver de réponse...
Bravo
la méthode svp si il est poussible
Messages postés
2027
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
j'ai pa stout saisi, mais voilà déjà un bon lien pour les batchs, j'ai trouvé ce site bien fait ..

http://membres.lycos.fr/gowap/Prog/Dos/Le_DOS.html

Bon Courage.


Zep3k!GnO
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!!!
Génial ton batch

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
Messages postés
13
Date d'inscription
jeudi 18 février 2010
Statut
Membre
Dernière intervention
15 mai 2011
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. @++
Messages postés
140
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
12 juin 2017
17