[Résolu]Batch avec mot de passe

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Avatar du membre
erfan88230
King Of Batch
Messages : 65
Enregistré le : 02 avr. 2011 12:45
Localisation : A mon avis .... quelque part dans le monde =)

[Résolu]Batch avec mot de passe

Message par erfan88230 »

Bonjour, j'ai trouver un script que j'ai a moitier créer a moitier modifier pour qu'il marche et se démarre des le démarrage de l'ordinateur pour .Il consiste en:
-vous dire bonjour avec votre vrai nom / Prénom
-vous indique l'heure et la date
-si vous marquer le bon mot de passe l'ordinateur reste allumer et le .bat s'éteint
-si vous mettez le mauvais mot de passe l'ordinateur s'éteint


@echo off
title anti-intrusion!
set /p prenom= Quel et votre prenom?:
set /p nom= Quel est votre nom?:
:DEBUT
set dire=
set etoile=
echo.
:PARLE
cls
echo Bonjour %prenom% %nom%,
echo Tapez le mot de passe pour valider appuyer sur " ! "
echo + pour tout effacer
pause
goto CHOICE
echo.
:CHOICE
cls
echo %etoile%
CHOICE /C:abcdefghijklmnopqrstuvwxyz1234567890+!>nul
If "%ERRORLEVEL%"=="38" goto do
If "%ERRORLEVEL%"=="37" goto DEBUT
If "%ERRORLEVEL%"=="36" set dire=%dire%0
If "%ERRORLEVEL%"=="35" set dire=%dire%9
If "%ERRORLEVEL%"=="34" set dire=%dire%8
If "%ERRORLEVEL%"=="33" set dire=%dire%7
If "%ERRORLEVEL%"=="32" set dire=%dire%6
If "%ERRORLEVEL%"=="31" set dire=%dire%5
If "%ERRORLEVEL%"=="30" set dire=%dire%4
If "%ERRORLEVEL%"=="29" set dire=%dire%3
If "%ERRORLEVEL%"=="28" set dire=%dire%2
If "%ERRORLEVEL%"=="27" set dire=%dire%1
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%*
set mdp=123456789
REM si vous voulez changer le mdp changer "123456789" en se que vous voulez vous pouvez aussi mettre des chiffre
goto CHOICE
echo.
:do
If %dire%==%mdp% goto done
If not %dire%==%mdp% goto noob
echo.
:done
cls
echo Bienvenue sur l'ordinateur M./Mme %prenom% %nom%
echo le script va se quitter dans 10s. apres la pause
echo Nous somme le %DATE% a %Time%
pause
choice /t:o,10>nul
goto end
echo.
:noob
echo Reassaye =)
echo Aller ne soit pas decu =)
shutdown -s
pause
echo.
:end

voilà,
Merci pour votre aide,
J'ai chercher et j'ai trouver le problème venais des " avant et des " après les %dire% et %mdp%
ps: je suis sous windows XP.
table des caractères utiliser par tout les ordinateur :
http://www.miakinen.net/vrac/charsets/
( section CP1252 )
table des caractères utiliser par les fenêtre MS-DOS:
http://www.miakinen.net/vrac/charsets/
(section CP850 )
Joe cateline
Batcheur débutant
Messages : 27
Enregistré le : 07 mars 2011 21:48

Re: [Résolu]Batch avec mot de passe

Message par Joe cateline »

Salut Erfan,

Ton script est intéressant mais il a une faille, il suffit de fermer la fenêtre dos qui demande le mot de pass pour stopper le script...
Pour contourner le problème, je te fais deux batch légèrement différents que j'utilise déjà moi même et qui fonctionne plutôt bien.

Le premier est celui que tu glissera dans l'onglet "démarrage" :

Code : Tout sélectionner

@echo off
title Authentification
start/min timing.bat
echo Bonjour, etes vous bien %username% ?
echo.
echo Entrez votre identifiant :
set/p "pass=>
if not %pass%=="MDP" goto err
md leurre
goto end
:err
echo Utilisateur inconnu, tentative d'intrusion detectee
echo.
echo Fermeture du systeme...
shutdown -s -t 0 -f
:end
Remplace "MPD" par le mot de passe que tu veux personnaliser.
Ce script fait appel à "timing.bat", le voila :

Code : Tout sélectionner

@echo off
title Timing
set count=20
:bouc
cls
if exist leurre goto end
if %count%==0 goto clo
echo %count%
sleep 1
set/a count=%count% - 1
goto bouc
:clo
shutdown -s -t 0 -f
:end
rmdir leurre
exit
Place ces deux bat au même endroit, peu importe où mais ensemble. Le timing.bat sera en barre de tache, tu as 20 sec pour donner le mot de passe sinon l'ordi s’éteint. Tu es sous xp, tu n'as donc pas la commande "sleep" de base, tu peux télécharger le pack de commande dont "sleep" ici sinon ça ne marchera pas.

Si tu ferme la fenêtre "Authentification", timing reste en barre de tache (c'est plus discret) et à un décompte de 20 sec il éteint tout. Je ne sais pas comment "camoufler" le timing mieux que ça, ça doit être possible et je serais curieux de savoir comment, par exemple que l'on ne puisse voir la fenêtre uniquement dans les processus.

En espérant t'avoir aidé !
rantanplan
Batcheur débutant
Messages : 11
Enregistré le : 06 mars 2011 03:12

Re: [Résolu]Batch avec mot de passe

Message par rantanplan »

Pour cacher la fenêtre sans qu'on ne la voix en tache de fond change

Code : Tout sélectionner

start/min timing.bat

par

Code : Tout sélectionner

start /B timing.bat
info :
B Lance l'application sans créer de fenêtre. L'arrêt
par ^C n'est pas pris en charge dans l'application.
Si l'application n'autorise pas la détection de ^C, ^Pause
est la seule façon d'arrêter l'application

Elle sera en effet visible dans les processus uniquemet (mais pas dans application)
A moins que la personne ne se doute du script il pourra ouvrir la console et chercher la parade
La commande ultime étant de ne pas luis laisser le temps d'ouvrir la console en réduisant le temps de saisie
Joe cateline
Batcheur débutant
Messages : 27
Enregistré le : 07 mars 2011 21:48

Re: [Résolu]Batch avec mot de passe

Message par Joe cateline »

Bien joué Tanplan ! Merci de l'info.
Avatar du membre
erfan88230
King Of Batch
Messages : 65
Enregistré le : 02 avr. 2011 12:45
Localisation : A mon avis .... quelque part dans le monde =)

Re: [Résolu]Batch avec mot de passe

Message par erfan88230 »

Merci a vous deux je cherchai justement comment il faut faire pour que personne ne puisse quitter la console =) merci :!:
Et l'installation pour la commande sleep ne marche pas ou faut-il que je la mette quelque part ?
Sinon je pourrai la remplacer par : choice /t:o,5>nul
qui sert de temporisation sous Windows XP ?
table des caractères utiliser par tout les ordinateur :
http://www.miakinen.net/vrac/charsets/
( section CP1252 )
table des caractères utiliser par les fenêtre MS-DOS:
http://www.miakinen.net/vrac/charsets/
(section CP850 )
Avatar du membre
Dodoche28
King Of Batch
Messages : 84
Enregistré le : 18 août 2010 17:07
Contact :

Re: [Résolu]Batch avec mot de passe

Message par Dodoche28 »

Boujour
Je tiens à préciser quand même que pour toutes les commandes externe, il n'y a pas besoin d'installation, par contre il faut mettre la commande externe dans le même dossier que le batch!
En gros c'est juste un fichier qui, en fonction de ces paramètres va appliquer un programme, c'est comme en batch!
N'oublier pas de mettre [Résolu]. Le procéder est mis dans une annonce!
Avatar du membre
WIN32-[GG]
SuperBatcher
Messages : 129
Enregistré le : 25 avr. 2011 19:34
Localisation : Dernière porte à droite

Re: [Résolu]Batch avec mot de passe

Message par WIN32-[GG] »

Euh...
Je me disais, j'entre le mauvais mot de passe, la fenêtre "ARRÊT DE L'ORDI" s'ouvre OK
Mais j'ai juste à faire "shutdown -a" dans démarrer > exécuter
Il faudrait peut-être donc penser à arrêter explorer.exe au début et le rallumer à la fin.
Pareille avec le gestionnaire de taches (sinon on peut redémarer explorer.exe)
(explorer.exe: Le processus qui gère le bureau, la barre des taches, les fenetres de l'explorateur etc..)

J'espère que j'ai pu t'aider.

A bientôt
WIN32-[GG]
The quieter you become,
the more you are able to ear...
Avatar du membre
Dodoche28
King Of Batch
Messages : 84
Enregistré le : 18 août 2010 17:07
Contact :

Re: [Résolu]Batch avec mot de passe

Message par Dodoche28 »

Bonjour :mrgreen:

En conclusion, il y a beaucoup de chose à revoir! :D
:idea: Parce que si on bloque explorer + modifier le registre pour désactiver "TaskMgr", çà fait beaucoup et au moindre problème, s'est la merde!

:arrow: Pour enlever le processus explorer
taskkill /F /IM explorer.exe

:arrow: Pour démarrer le processus explorer
start explorer.exe

:arrow: Pour désactiver/activer "TaskMgr"
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
puis modifier la valeur DWORD intituler "DisableTaskMgr" (0 pour activer TaskMgr ; 1 pour désactiver TaskMgr)

Voili voilou pour ceux que ça intéresse! :D
N'oublier pas de mettre [Résolu]. Le procéder est mis dans une annonce!
shunky
Batcheur occasionnel
Messages : 8
Enregistré le : 10 juin 2011 14:06

Re: [Résolu]Batch avec mot de passe

Message par shunky »

Bonjour,

J'ai vu ce topic que je trouvais très intéressant, c'est pourquoi je me suis mis à travailler dessus.
Néanmoins, en reprenant le code donné par rantanplan avec la modification /B au lieu de /min, lorsque je lance mon .bat, l'invite de commande affiche...le comtpe a rebours, qui a donc pris la place de l'autre script... :s

Quelqu'un aurait-il une idée?

Le code, bien que ce soit quasiment le même:
@echo off
taskkill /F /IM explorer.exe
cls
title Authentification
start /B timing.bat
echo Bonjour, etes vous bien %username% ?
echo.
echo Entrez votre identifiant :
set/p "pass=>
if not %pass%==azerty goto err
md leurre
goto end

:err
echo Utilisateur inconnu, tentative d'intrusion detectee
echo.
echo Fermeture du systeme...
sleep 3
shutdown -s -t 0 -f

:end
start explorer.exe
exit
A noter qu'avec /min cela marche parfaitement. Je suis sous Windows 7.
J'ai bien le petit sleep.exe qui sert à faire fonctionner le timing.bat ^^

Merci d'avance!
Avatar du membre
Dodoche28
King Of Batch
Messages : 84
Enregistré le : 18 août 2010 17:07
Contact :

Re: [Résolu]Batch avec mot de passe

Message par Dodoche28 »

Bonsoir shunky :mrgreen:

Le paramètre de start n'est pas correcte dans Authentification!
Il faut mettre le paramètre /min et non /B ;)

Code : Tout sélectionner

@echo off
taskkill /F /IM explorer.exe
cls
title Authentification
start /min timing.bat
echo Bonjour, etes vous bien %username% ?
echo.
echo Entrez votre identifiant :
set/p "pass=>
if not %pass%==azerty goto err
md leurre
goto end

:err
echo Utilisateur inconnu, tentative d'intrusion detectee
echo.
echo Fermeture du systeme...
sleep 3
shutdown -s -t 0 -f

:end
start explorer.exe
exit
N'oublier pas de mettre [Résolu]. Le procéder est mis dans une annonce!
Répondre