Ecrire un mot de passe en batch

Fermé
Utilisateur anonyme - 16 janv. 2006 à 09:43
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 - 17 mars 2013 à 10:00
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

Damien P Messages postés 19 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 6 mai 2007 48
27 juil. 2006 à 21:49
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
Super merci pour ton travail !
0
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
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
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
19 févr. 2010 à 12:45
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
koalatic Messages postés 330 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 11 août 2015 21
28 févr. 2010 à 16:07
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
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
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
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
effectivement ya un probleme, des espaces sont rajouté a cause du forum
j'envoi le fichier sur un hebergeur et je revient
0
http://uptobox.com/m3wrwh99pmst
0
Ça marche !!!

Merci beaucoup, ça fait longtemps que je suis sur le sujet sans trouver de réponse...
Bravo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
16 janv. 2006 à 16:58
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
1
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
Génial ton batch
0
Utilisateur anonyme
26 nov. 2008 à 12:41
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
Zemax95 Messages postés 13 Date d'inscription jeudi 18 février 2010 Statut Membre Dernière intervention 15 mai 2011 1
19 févr. 2010 à 01:35
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
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 17
17 mars 2013 à 10:00
0